Erste Schritte mit MicroPython
Schritt-für-Schritt-Anleitung zur Einrichtung von Thonny und MicroPython auf dem ESP32-C6 Lernboard.
- Was ist MicroPython?
- Was du benötigst
- Schritt 1: Thonny installieren
- Schritt 2: MicroPython-Firmware herunterladen
- Schritt 3: Board mit dem Computer verbinden
- Schritt 4: MicroPython-Firmware flashen
- Schritt 5: Verbindung testen
- Schritt 6: Erstes Programm – LED mit Taster steuern
- Erweitertes Beispiel: LED umschalten (Toggle)
- Tipps für Thonny
- Häufige Probleme und Lösungen
- Nächste Schritte
- Weiterführende Links
#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
-
Öffne die Thonny-Website: https://thonny.org
-
Klicke auf den Download-Link für Windows (oben rechts)
-
Führe die heruntergeladene Datei
thonny-xxxx.exeaus -
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"
-
Starte Thonny über das Startmenü oder die Desktop-Verknüpfung
#macOS
-
Öffne die Thonny-Website: https://thonny.org
-
Klicke auf den Download-Link für macOS
-
Öffne die heruntergeladene
.pkg-Datei -
Folge dem Installationsassistenten:
- Klicke auf "Fortfahren"
- Akzeptiere die Lizenzvereinbarung
- Klicke auf "Installieren"
- Gib dein Passwort ein, wenn gefragt
- Warte, bis die Installation abgeschlossen ist
-
Ö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.
-
Öffne die MicroPython-Download-Seite:
https://micropython.org/download/ESP32_GENERIC_C6/ -
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
-
Verbinde das Lernboard mit einem USB-C-Kabel mit deinem Computer
-
Warte einige Sekunden, bis der Computer das Gerät erkannt hat
-
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-0001sehen
Linux:
- Öffne ein Terminal
- Gib ein:
ls /dev/ttyUSB*oderls /dev/ttyACM* - Du solltest etwas wie
/dev/ttyUSB0sehen
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
-
Starte Thonny
-
Öffne die Interpreter-Einstellungen:
- Klicke auf Extras → Optionen (Windows/Linux)
- Oder Thonny → Einstellungen (macOS)
- Wähle den Reiter "Interpreter"
-
Wähle den Interpreter:
- Im Dropdown-Menü wähle: "MicroPython (ESP32)"
- Bei "Port" wähle den erkannten Port (z.B. COM3 oder /dev/ttyUSB0)
-
Firmware installieren:
- Klicke unten rechts auf den Link "MicroPython installieren oder aktualisieren"
- Es öffnet sich ein neues Fenster
-
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!)
-
Installation starten:
- Klicke auf "Installieren"
- Das Flashen dauert etwa 1-2 Minuten
- Warte, bis die Meldung "Done" erscheint
-
Klicke auf "Schließen"
#Falls das Flashen nicht funktioniert
Wenn Thonny das Board nicht erkennt oder das Flashen fehlschlägt:
-
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
-
Manuell mit esptool flashen:
Öffne ein Terminal und führe aus:
# esptool installierenpip 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
-
Schließe die Interpreter-Einstellungen mit "OK"
-
Klicke auf "Stop/Restart" (das rote Stopp-Symbol oder Strg+F2)
-
Prüfe die Shell (unten im Fenster):
Du solltest so etwas sehen:
MicroPython v1.24.0 on 2024-10-25; ESP32C6 module with ESP32C6Type "help()" for more information.>>> -
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
-
Neues Programm erstellen:
- Klicke auf Datei → Neu (oder Strg+N)
- Ein neues, leeres Editor-Fenster öffnet sich
-
Code eingeben:
- Kopiere den obigen Code in das Editor-Fenster
- Oder tippe ihn ab (gut zum Lernen!)
-
Programm speichern:
- Klicke auf Datei → Speichern (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.pywerden automatisch beim Start des Boards ausgeführt! -
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.
-
Testen:
- Drücke den Taster SW1 auf dem Board
- Die LED sollte leuchten, solange du drückst!
- Lasse den Taster los → LED geht aus
-
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_ankehrt 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
- Ansicht → Dateien 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.pywird automatisch beim Start ausgeführtboot.pywird vormain.pyausgefü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
1erscheinen, sonst0
#Nächste Schritte
Nachdem du die LED und den Taster beherrschst, kannst du weitere Komponenten des Lernboards ausprobieren:
- LED blinken lassen – mit
sleep()Zeitverzögerungen einbauen - LED dimmen – mit PWM die Helligkeit steuern
- Sensoren auslesen – BME280, BH1750, BMI270 über I²C
- LED-Matrix ansteuern – 64 RGB-LEDs für Animationen
- Joystick abfragen – über den GPIO-Expander TCA6408A
- WLAN nutzen – Daten ins Internet senden
Schau dir die weiteren Dokumentationen an, um mehr zu lernen!