Skip to main content

Erste Schritte mit MicroPython

Schritt-für-Schritt-Anleitung zur Einrichtung von Thonny und MicroPython auf dem ESP32-C6 Lernboard.


#Was ist MicroPython?

MicroPython ist eine schlanke Implementierung der Programmiersprache Python 3, die speziell für Mikrocontroller entwickelt wurde. Der große Vorteil: Du kannst die einfache und lesbare Python-Syntax nutzen, um Hardware zu programmieren – ideal für Einsteiger!

Vorteile von MicroPython:

  • Einfache, gut lesbare Syntax
  • Interaktive Entwicklung (REPL – Read-Eval-Print-Loop)
  • Schnelles Testen ohne Kompilieren
  • Große Community und viele Bibliotheken
  • Ideal zum Lernen und Experimentieren

#Was du benötigst

  • ESP32-C6 Lernboard
  • USB-C-Kabel (muss Daten übertragen können, nicht nur laden!)
  • Computer mit Windows, macOS oder Linux
  • Internetverbindung für Downloads

#Schritt 1: Thonny installieren

Thonny ist eine einfache Python-IDE (Entwicklungsumgebung), die speziell für Anfänger entwickelt wurde. Sie unterstützt MicroPython direkt und macht das Programmieren von Mikrocontrollern sehr einfach.

#Windows

  1. Öffne die Thonny-Website: https://thonny.org

  2. Klicke auf den Download-Link für Windows (oben rechts)

  3. Führe die heruntergeladene Datei thonny-xxxx.exe aus

  4. Folge dem Installationsassistenten:

    • Klicke auf "Next"
    • Akzeptiere die Lizenzvereinbarung
    • Wähle den Installationsordner (Standard ist OK)
    • Klicke auf "Install"
    • Warte, bis die Installation abgeschlossen ist
    • Klicke auf "Finish"
  5. Starte Thonny über das Startmenü oder die Desktop-Verknüpfung

#macOS

  1. Öffne die Thonny-Website: https://thonny.org

  2. Klicke auf den Download-Link für macOS

  3. Öffne die heruntergeladene .pkg-Datei

  4. Folge dem Installationsassistenten:

    • Klicke auf "Fortfahren"
    • Akzeptiere die Lizenzvereinbarung
    • Klicke auf "Installieren"
    • Gib dein Passwort ein, wenn gefragt
    • Warte, bis die Installation abgeschlossen ist
  5. Öffne Thonny über das Launchpad oder den Programme-Ordner

#Linux (Ubuntu/Debian)

Öffne ein Terminal und führe folgende Befehle aus:

# Paketlisten aktualisieren
sudo apt update
# Thonny installieren
sudo apt install thonny
# Benutzer zur dialout-Gruppe hinzufügen (für USB-Zugriff)
sudo usermod -a -G dialout $USER

Wichtig: Nach dem Hinzufügen zur dialout-Gruppe musst du dich ab- und wieder anmelden oder den Computer neu starten!

Alternativ kannst du Thonny auch über pip installieren:

pip3 install thonny

#Schritt 2: MicroPython-Firmware herunterladen

Der ESP32-C6 benötigt die MicroPython-Firmware, die auf den Chip geflasht werden muss.

  1. Öffne die MicroPython-Download-Seite:
    https://micropython.org/download/ESP32_GENERIC_C6/

  2. Lade die neueste stabile Version herunter:

    • Suche nach "Releases" (nicht "Nightly builds")
    • Klicke auf die .bin-Datei, z.B. ESP32_GENERIC_C6-20241025-v1.24.0.bin
    • Speichere die Datei an einem Ort, den du leicht wiederfindest (z.B. Downloads)

#Schritt 3: Board mit dem Computer verbinden

  1. Verbinde das Lernboard mit einem USB-C-Kabel mit deinem Computer

  2. Warte einige Sekunden, bis der Computer das Gerät erkannt hat

  3. Prüfe, ob das Board erkannt wurde:

    Windows:

    • Öffne den Geräte-Manager (Rechtsklick auf Start → Geräte-Manager)
    • Unter "Anschlüsse (COM & LPT)" sollte ein neuer Eintrag erscheinen, z.B. "USB Serial Device (COM3)"
    • Merke dir die COM-Nummer!

    macOS:

    • Öffne ein Terminal
    • Gib ein: ls /dev/tty.usb*
    • Du solltest etwas wie /dev/tty.usbserial-0001 sehen

    Linux:

    • Öffne ein Terminal
    • Gib ein: ls /dev/ttyUSB* oder ls /dev/ttyACM*
    • Du solltest etwas wie /dev/ttyUSB0 sehen

Falls das Board nicht erkannt wird:

  • Probiere ein anderes USB-Kabel (manche Kabel können nur laden!)
  • Probiere einen anderen USB-Port
  • Halte den Boot-Taster gedrückt, während du das USB-Kabel einsteckst
  • Unter Windows: Installiere den CP210x-Treiber

#Schritt 4: MicroPython-Firmware flashen

Jetzt wird die MicroPython-Firmware auf das Board übertragen.

#In Thonny

  1. Starte Thonny

  2. Öffne die Interpreter-Einstellungen:

    • Klicke auf ExtrasOptionen (Windows/Linux)
    • Oder ThonnyEinstellungen (macOS)
    • Wähle den Reiter "Interpreter"
  3. Wähle den Interpreter:

    • Im Dropdown-Menü wähle: "MicroPython (ESP32)"
    • Bei "Port" wähle den erkannten Port (z.B. COM3 oder /dev/ttyUSB0)
  4. Firmware installieren:

    • Klicke unten rechts auf den Link "MicroPython installieren oder aktualisieren"
    • Es öffnet sich ein neues Fenster
  5. Firmware-Einstellungen:

    • Target port: Wähle deinen Port
    • MicroPython family: Wähle "ESP32-C6"
    • Variant: Wähle "Espressif • ESP32-C6"
    • Aktiviere "Erase all flash before installing" (wichtig beim ersten Mal!)
  6. Installation starten:

    • Klicke auf "Installieren"
    • Das Flashen dauert etwa 1-2 Minuten
    • Warte, bis die Meldung "Done" erscheint
  7. Klicke auf "Schließen"

#Falls das Flashen nicht funktioniert

Wenn Thonny das Board nicht erkennt oder das Flashen fehlschlägt:

  1. Board in den Bootloader-Modus versetzen:

    • Trenne das USB-Kabel
    • Halte den Boot-Taster gedrückt
    • Stecke das USB-Kabel ein (Boot-Taster weiter gedrückt halten!)
    • Lasse den Boot-Taster los
    • Versuche das Flashen erneut
  2. Manuell mit esptool flashen:

    Öffne ein Terminal und führe aus:

    # esptool installieren
    pip install esptool
    # Flash löschen (Port anpassen!)
    esptool.py --chip esp32c6 --port COM3 erase_flash
    # Firmware flashen (Pfad zur .bin-Datei anpassen!)
    esptool.py --chip esp32c6 --port COM3 write_flash -z 0x0 ESP32_GENERIC_C6-20241025-v1.24.0.bin

#Schritt 5: Verbindung testen

  1. Schließe die Interpreter-Einstellungen mit "OK"

  2. Klicke auf "Stop/Restart" (das rote Stopp-Symbol oder Strg+F2)

  3. Prüfe die Shell (unten im Fenster):

    Du solltest so etwas sehen:

    MicroPython v1.24.0 on 2024-10-25; ESP32C6 module with ESP32C6
    Type "help()" for more information.
    >>>
  4. Teste die Verbindung:

    Gib in der Shell ein und drücke Enter:

    print("Hallo Lernboard!")

    Die Ausgabe sollte erscheinen:

    Hallo Lernboard!
    >>>

Herzlichen Glückwunsch! MicroPython läuft auf deinem Lernboard! 🎉


#Schritt 6: Erstes Programm – LED mit Taster steuern

Jetzt schreiben wir das erste richtige Programm: Die LED an GPIO2 soll leuchten, solange der Taster SW1 an GPIO3 gedrückt wird.

#Das Programm verstehen

# Erstes Programm für das Lernboard
# LED leuchtet, wenn Taster SW1 gedrückt wird
from machine import Pin # Pin-Modul für GPIO-Zugriff importieren
from time import sleep_ms # sleep_ms für kurze Pausen importieren
# === Hardware einrichten ===
# LED an GPIO2 als Ausgang konfigurieren
led = Pin(2, Pin.OUT)
# Taster SW1 an GPIO3 als Eingang konfigurieren
# Der Taster ist "High-aktiv" = 3.3V wenn gedrückt
taster = Pin(3, Pin.IN)
# === Hauptprogramm ===
print("Programm gestartet!")
print("Drücke den Taster SW1, um die LED einzuschalten.")
# Endlosschleife
while True:
# Tasterzustand lesen
# taster.value() gibt 1 zurück wenn gedrückt, 0 wenn nicht
if taster.value() == 1:
# Taster ist gedrückt → LED einschalten
led.value(1)
else:
# Taster ist nicht gedrückt → LED ausschalten
led.value(0)
# Kurze Pause (10 Millisekunden)
# Entlastet den Prozessor
sleep_ms(10)

#Programm eingeben und ausführen

  1. Neues Programm erstellen:

    • Klicke auf DateiNeu (oder Strg+N)
    • Ein neues, leeres Editor-Fenster öffnet sich
  2. Code eingeben:

    • Kopiere den obigen Code in das Editor-Fenster
    • Oder tippe ihn ab (gut zum Lernen!)
  3. Programm speichern:

    • Klicke auf DateiSpeichern (oder Strg+S)
    • Es erscheint ein Dialog: "Wo soll die Datei gespeichert werden?"
    • Wähle "MicroPython-Gerät"
    • Gib als Dateinamen ein: main.py
    • Klicke auf OK

    Wichtig: Dateien mit dem Namen main.py werden automatisch beim Start des Boards ausgeführt!

  4. Programm ausführen:

    • Klicke auf den grünen Play-Button (oder F5)
    • In der Shell erscheint:
      Programm gestartet!
      Drücke den Taster SW1, um die LED einzuschalten.
  5. Testen:

    • Drücke den Taster SW1 auf dem Board
    • Die LED sollte leuchten, solange du drückst!
    • Lasse den Taster los → LED geht aus
  6. Programm stoppen:

    • Klicke auf den roten Stopp-Button (oder Strg+F2)

#Erweitertes Beispiel: LED umschalten (Toggle)

Hier ein verbessertes Programm, bei dem jeder Tastendruck die LED umschaltet (ein → aus → ein → ...):

# Erweitertes Programm: LED umschalten mit Tastendruck
# Jeder Druck auf SW1 schaltet die LED um
from machine import Pin
from time import sleep_ms, ticks_ms, ticks_diff
# Hardware einrichten
led = Pin(2, Pin.OUT)
taster = Pin(3, Pin.IN)
# Variablen für den Zustand
led_an = False # Ist die LED an?
letzter_druck = 0 # Zeitpunkt des letzten Tastendrucks
entprellzeit = 200 # Mindestzeit zwischen zwei Tastendrücken (ms)
print("LED-Toggle Programm")
print("Jeder Tastendruck schaltet die LED um.")
while True:
# Ist der Taster gedrückt?
if taster.value() == 1:
# Aktuelle Zeit holen
jetzt = ticks_ms()
# Ist genug Zeit seit dem letzten Druck vergangen? (Entprellung)
if ticks_diff(jetzt, letzter_druck) > entprellzeit:
# LED-Zustand umschalten
led_an = not led_an
# LED entsprechend setzen
led.value(led_an)
# Status ausgeben
if led_an:
print("LED: AN")
else:
print("LED: AUS")
# Zeitpunkt merken
letzter_druck = jetzt
sleep_ms(10)

Was ist neu?

  • Entprellung: Mechanische Taster "prellen" – sie schalten beim Drücken mehrfach schnell hintereinander. Der Code ignoriert Tastendrücke, die weniger als 200ms nach dem letzten Druck erfolgen.
  • Toggle-Logik: led_an = not led_an kehrt den Zustand um (True → False, False → True)

#Tipps für Thonny

#Nützliche Tastenkürzel

Tastenkürzel Funktion
F5 Programm ausführen
Strg+F2 Programm stoppen / Board neu starten
Strg+S Speichern
Strg+N Neue Datei
Strg+O Datei öffnen

#Dateien auf dem Board verwalten

  • AnsichtDateien zeigt links die Dateien auf dem Computer und rechts die Dateien auf dem MicroPython-Gerät
  • Rechtsklick auf Dateien ermöglicht Umbenennen, Löschen, Herunterladen etc.
  • main.py wird automatisch beim Start ausgeführt
  • boot.py wird vor main.py ausgeführt (für Initialisierung)

#Shell (REPL) nutzen

Die Shell unten in Thonny ist interaktiv. Du kannst dort direkt Python-Befehle eingeben:

>>> from machine import Pin
>>> led = Pin(2, Pin.OUT)
>>> led.on() # LED einschalten
>>> led.off() # LED ausschalten
>>> led.toggle() # LED umschalten

Das ist praktisch zum Testen!


#Häufige Probleme und Lösungen

#"Could not connect to REPL"

  • Prüfe, ob das richtige Board/Port ausgewählt ist
  • Klicke auf Stop/Restart (Strg+F2)
  • Trenne das USB-Kabel und verbinde es erneut
  • Schließe andere Programme, die den Port nutzen könnten

#"Invalid syntax" oder "IndentationError"

  • Python nutzt Einrückungen (Leerzeichen) zur Strukturierung
  • Verwende immer 4 Leerzeichen (oder Tab) für jede Ebene
  • Mische keine Tabs und Leerzeichen!

#LED leuchtet nicht

  • Prüfe, ob das Programm läuft (keine Fehlermeldung in der Shell?)
  • Prüfe, ob der richtige Pin verwendet wird (GPIO2 für die LED)
  • Teste die LED manuell in der Shell: Pin(2, Pin.OUT).on()

#Taster reagiert nicht

  • Prüfe den richtigen Pin (GPIO3 für SW1)
  • Teste den Taster in der Shell: print(Pin(3, Pin.IN).value())
  • Beim Drücken sollte 1 erscheinen, sonst 0

#Nächste Schritte

Nachdem du die LED und den Taster beherrschst, kannst du weitere Komponenten des Lernboards ausprobieren:

  1. LED blinken lassen – mit sleep() Zeitverzögerungen einbauen
  2. LED dimmen – mit PWM die Helligkeit steuern
  3. Sensoren auslesen – BME280, BH1750, BMI270 über I²C
  4. LED-Matrix ansteuern – 64 RGB-LEDs für Animationen
  5. Joystick abfragen – über den GPIO-Expander TCA6408A
  6. WLAN nutzen – Daten ins Internet senden

Schau dir die weiteren Dokumentationen an, um mehr zu lernen!


#Weiterführende Links