Skip to content

Technik Blog

IoT, Smart Home & Mikrocontroller einfach erklärt

Menu
  • Smarthome
  • Gartenautomation
  • Mikrocontroller
    • Arduino
    • ESP32 & Co.
    • Calliope Mini
    • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
Menu

XIAO ESP32-C6 mit MicroPython flashen – Schritt-für-Schritt mit esptool

Veröffentlicht am 10. August 20268. August 2026 von Stefan Draeger

Der Seeed Studio XIAO ESP32-C6 ist ein besonders kompakter und leistungsfähiger Mikrocontroller, der sich unter anderem mit MicroPython programmieren lässt. Beim Flashen gibt es jedoch eine angenehme Besonderheit: In meinem Test musste ich den XIAO ESP32-C6 nicht wie bei vielen anderen ESP32-Boards manuell über BOOT und RESET in den Download-Modus versetzen.

XIAO ESP32-C6 mit MicroPython flashen – einfach mit esptool
Dieses Video auf YouTube ansehen.

In diesem Beitrag zeige ich dir Schritt für Schritt, wie du deinen XIAO ESP32-C6 mithilfe von esptool über die Windows-Eingabeaufforderung erfolgreich mit MicroPython flashst und anschließend für deine ersten Projekte vorbereitest. Den Mikrocontroller habe ich im Rahmen einer Kooperation mit OpenELAB und Seeed Studio kostenfrei zur Verfügung gestellt bekommen.

Seeed Studio XIAO ESP32-C6 - Ansicht von Vorne
Seeed Studio XIAO ESP32-C6 – Ansicht von Vorne
Seeed Studio XIAO ESP32-C6 - Größenvergleich mit einer 5mm LED
Seeed Studio XIAO ESP32-C6 – Größenvergleich mit einer 5mm LED
Seeed Studio XIAO ESP32-C6 - Ansicht von Hinten
Seeed Studio XIAO ESP32-C6 – Ansicht von Hinten

Transparenzhinweis:
Der in diesem Beitrag verwendete XIAO ESP32-C6 wurde mir von OpenELAB in Zusammenarbeit mit Seeed Studio kostenfrei für ein Review zur Verfügung gestellt.

Inhaltsverzeichnis

  • Warum MicroPython statt Arduino IDE?
  • Was wird benötigt?
  • Python installieren
    • pip überprüfen
  • esptool installieren
  • Eigenschaften des XIAO ESP32-C6 auslesen
  • Was ist beim XIAO ESP32-C6 anders?
  • Flash-Speicher des XIAO ESP32-C6 löschen
  • MicroPython-Firmware herunterladen
  • MicroPython auf den XIAO ESP32-C6 flashen
  • XIAO ESP32-C6 mit Thonny verbinden
  • MicroPython-Installation mit einem Blink-Script testen
  • Hinweis zur verwendeten MicroPython-Firmware
    • Alternative: Firmware aus der Seeed-Studio-Dokumentation
  • Fazit

Warum MicroPython statt Arduino IDE?

Der große Vorteil von MicroPython liegt vor allem im schnellen und einfachen Einstieg. Programme werden direkt in Python geschrieben und müssen nicht wie bei der Arduino IDE zunächst kompiliert und anschließend auf den Mikrocontroller übertragen werden.

Dadurch lassen sich Änderungen sehr schnell testen. Gerade für erste Versuche, kleine Projekte und das Ausprobieren von Sensoren oder Schnittstellen ist MicroPython daher besonders angenehm.

Die Arduino IDE mit C/C++ bietet hingegen meist eine höhere Performance und eine sehr große Auswahl an Bibliotheken. Welche Variante besser geeignet ist, hängt deshalb immer vom jeweiligen Projekt ab.

Was wird benötigt?

Für das Flashen des XIAO ESP32-C6 mit MicroPython benötigst du nur wenige Dinge:

  • Seeed Studio XIAO ESP32-C6
  • USB-C-Datenkabel* zur Verbindung mit dem Computer
  • passende MicroPython-Firmware für den ESP32-C6
  • Python
  • esptool zum Löschen und Flashen des Speichers

Für die spätere Programmierung des XIAO ESP32-C6 mit MicroPython verwende ich in dieser Anleitung die Thonny IDE. Sie bietet einen einfachen Einstieg und ermöglicht es, Python-Code direkt auf dem Mikrocontroller auszuführen und zu übertragen.

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Python installieren

Zunächst benötigst du eine aktuelle Version von Python. Diese kannst du direkt von der offiziellen Python-Webseite herunterladen: https://www.python.org/downloads

Lade dort die aktuelle Version für Windows herunter und starte anschließend die Installationsdatei.

Die Installation erfolgt komfortabel über einen Wizard. Für diese Anleitung nehme ich dabei keine besonderen Einstellungen vor, sondern verwende die vorgegebenen Standardoptionen und führe die Installation bis zum Ende durch.

Nach erfolgreicher Installation kannst du über die Windows-Eingabeaufforderung prüfen, ob Python korrekt erkannt wird:

py --version

Wenn alles funktioniert, wird dir anschließend die installierte Python-Version angezeigt.

pip überprüfen

Nach der Installation von Python prüfe ich zunächst, ob auch pip verfügbar ist. Der Python-Paketmanager wird im nächsten Schritt benötigt, um esptool zu installieren.

Öffne dazu die Windows-Eingabeaufforderung und führe folgenden Befehl aus:

python -m pip --version

Wurde pip korrekt mit Python installiert, wird dir anschließend die installierte Version sowie der zugehörige Installationspfad angezeigt.

Damit ist die Grundlage geschaffen, um im nächsten Schritt esptool zu installieren.

esptool installieren

Nachdem Python und pip erfolgreich eingerichtet wurden, kann nun esptool installiert werden. Dieses Kommandozeilenwerkzeug benötigen wir später, um den Flash-Speicher des XIAO ESP32-C6 zu löschen und die MicroPython-Firmware auf den Mikrocontroller zu übertragen.

Die Installation erfolgt über pip mit folgendem Befehl:

python -m pip install esptool

Nach Abschluss der Installation kannst du prüfen, ob esptool korrekt verfügbar ist:

python -m esptool version

Wird eine Versionsnummer ausgegeben, ist esptool erfolgreich installiert und wir können mit der Vorbereitung des XIAO ESP32-C6 für das Flashen beginnen.

Eigenschaften des XIAO ESP32-C6 auslesen

Bevor wir den Flash-Speicher löschen und die MicroPython-Firmware übertragen, prüfe ich zunächst, ob esptool den XIAO ESP32-C6 korrekt erkennt.

Verbinde dazu den Mikrocontroller über das USB-C-Datenkabel mit deinem Computer und öffne anschließend die Windows-Eingabeaufforderung.

Mit folgendem Befehl können wir eine Verbindung zum Mikrocontroller herstellen und Informationen zum verbauten Flash-Speicher auslesen:

python -m esptool flash-id

esptool sucht dabei nach einem angeschlossenen kompatiblen Mikrocontroller und stellt die Verbindung her. In der Ausgabe können wir unter anderem erkennen, dass es sich tatsächlich um einen ESP32-C6 handelt. Zusätzlich werden weitere Informationen zum Chip und zum verbauten Flash-Speicher ausgegeben.

Falls mehrere serielle Geräte mit deinem Computer verbunden sind, kannst du den verwendeten COM-Port auch direkt angeben:

python -m esptool --port COM5 flash-id

COM5 musst du dabei natürlich durch den COM-Port ersetzen, unter welchem dein XIAO ESP32-C6 auf deinem System erkannt wurde.

Damit wissen wir nicht nur, dass esptool korrekt installiert ist, sondern auch, dass die Kommunikation mit dem XIAO ESP32-C6 funktioniert. Im nächsten Schritt können wir uns nun an das eigentliche Flashen machen.

Was ist beim XIAO ESP32-C6 anders?

Bei vielen ESP32-Boards muss der Mikrocontroller zunächst manuell in den Bootloader- bzw. Download-Modus versetzt werden, bevor eine neue Firmware geflasht werden kann. Dazu wird üblicherweise die BOOT-Taste gedrückt gehalten, während der ESP32 mit dem Computer verbunden oder über RESET neu gestartet wird.

Beim XIAO ESP32-C6 ist dieser zusätzliche Schritt für den hier gezeigten Flash-Vorgang nicht notwendig. esptool kann den Mikrocontroller automatisch in den benötigten Download-Modus versetzen, sodass ich direkt mit dem Löschen und anschließenden Beschreiben des Flash-Speichers beginnen kann.

Darüber darf man sich beim XIAO ESP32-C6 durchaus freuen: Aufgrund der sehr kompakten Abmessungen des Boards fallen auch die beiden Taster BOOT und RESET entsprechend klein aus. Mit dem Finger lassen sie sich teilweise nur schwer zuverlässig betätigen.

Sollte die automatische Verbindung mit esptool einmal nicht funktionieren, können BOOT und RESET natürlich weiterhin verwendet werden, um den Mikrocontroller manuell in den entsprechenden Modus zu versetzen.

BOOT und RESET Taster am XIAO ESP32-C6 von Seeed Studio

Flash-Speicher des XIAO ESP32-C6 löschen

Bevor wir MicroPython auf den XIAO ESP32-C6 übertragen, lösche ich zunächst den vorhandenen Inhalt des Flash-Speichers.

Der Mikrocontroller bleibt dafür über das USB-C-Kabel mit dem Computer verbunden. Anschließend führe ich in der Eingabeaufforderung folgenden Befehl aus:

python -m esptool erase-flash

esptool stellt daraufhin eine Verbindung zum XIAO ESP32-C6 her und löscht den kompletten Flash-Speicher.

Falls der COM-Port nicht automatisch erkannt wird, kannst du diesen auch direkt angeben:

python -m esptool --port COM5 erase-flash

COM5 musst du dabei durch den COM-Port ersetzen, unter welchem dein XIAO ESP32-C6 erkannt wurde.

Achtung: Durch diesen Vorgang wird der komplette Inhalt des Flash-Speichers gelöscht.

MicroPython-Firmware herunterladen

Nachdem der Flash-Speicher gelöscht wurde, benötigen wir nun die passende MicroPython-Firmware für den XIAO ESP32-C6.

Das offizielle Release findest du auf der MicroPython-Webseite unter: https://micropython.org/download/SEEED_XIAO_ESP32C6

Dort kannst du die aktuelle stabile Version als BIN-Datei herunterladen.

Die heruntergeladene Firmware speichere ich anschließend in dem Verzeichnis, in dem ich auch die folgenden Befehle über die Windows-Eingabeaufforderung ausführe. Dadurch lässt sich die Firmware später ohne die Angabe eines langen Dateipfades mit esptool auf den XIAO ESP32-C6 übertragen.

MicroPython auf den XIAO ESP32-C6 flashen

Jetzt kann die heruntergeladene Firmware auf den Mikrocontroller übertragen werden.

Dazu führe ich folgenden Befehl aus:

python -m esptool write-flash 0 FIRMWARE.bin

FIRMWARE.bin ersetzt du dabei durch den tatsächlichen Dateinamen deiner heruntergeladenen MicroPython-Firmware.

Alternativ kannst du auch hier den COM-Port direkt angeben:

python -m esptool --port COM5 write-flash 0 FIRMWARE.bin

Wurde der Vorgang ohne Fehlermeldung abgeschlossen, befindet sich nun MicroPython auf dem XIAO ESP32-C6.

Damit ist der eigentliche Flash-Vorgang abgeschlossen und wir können uns im nächsten Schritt mit Thonny mit dem Mikrocontroller verbinden und unser erstes MicroPython-Programm ausführen.

XIAO ESP32-C6 mit Thonny verbinden

Für die Programmierung von Mikrocontrollern mit MicroPython ist Thonny meine erste Wahl. Die Entwicklungsumgebung ist kostenfrei, klein und trotzdem leistungsfähig – gerade für den Einstieg in MicroPython ist sie daher sehr gut geeignet.

Nachdem die MicroPython-Firmware erfolgreich auf den XIAO ESP32-C6 übertragen wurde, öffnest du Thonny und verbindest den Mikrocontroller über das USB-C-Datenkabel mit deinem Computer.

Unten rechts in Thonny kannst du den verwendeten Interpreter auswählen. Dort wählst du den Eintrag:

MicroPython (ESP32) - USB JTAG/serial debug on @ COMXX

COMXX steht dabei für den COM-Port, unter welchem dein XIAO ESP32-C6 von Windows erkannt wurde.

Nach der Auswahl stellt Thonny die Verbindung zum Mikrocontroller her. Anschließend kannst du MicroPython-Code direkt ausführen, Dateien auf den XIAO ESP32-C6 übertragen und die Ausgabe über die integrierte Shell verfolgen.

Damit ist alles vorbereitet, um im nächsten Schritt mit einem kleinen Blink-Script zu testen, ob die Installation vollständig funktioniert.

MicroPython-Installation mit einem Blink-Script testen

Nachdem der XIAO ESP32-C6 mit Thonny verbunden ist, folgt nun ein einfacher Funktionstest.

Dafür verwende ich die auf dem Board vorhandene User-LED, die mit GPIO 15 verbunden ist. Wenn sich diese per MicroPython ansteuern lässt, wissen wir, dass Firmware, Verbindung und Programmausführung funktionieren.

Das folgende kleine MicroPython-Script lässt die LED im Abstand von 500 Millisekunden blinken:

from machine import Pin
from time import sleep

led = Pin(15, Pin.OUT)

while True:
    led.value(1)
    sleep(0.5)

    led.value(0)
    sleep(0.5)

Starte das Script anschließend in Thonny. Beginnt die User-LED zu blinken, funktioniert die MicroPython-Installation und der XIAO ESP32-C6 kann nun für eigene Projekte verwendet werden.

Damit ist der Mikrocontroller vollständig vorbereitet und du kannst direkt mit der Entwicklung deiner ersten MicroPython-Anwendungen beginnen.

Hinweis zur verwendeten MicroPython-Firmware

Für diese Anleitung verwende ich die offizielle MicroPython-Firmware für den Seeed Studio XIAO ESP32-C6. Diese findest du direkt auf der MicroPython-Webseite unter:

https://micropython.org/download/SEEED_XIAO_ESP32C6

Damit steht inzwischen eine eigene Firmware für den XIAO ESP32-C6 zur Verfügung, sodass keine generische ESP32-C6-Firmware verwendet werden muss.

In meinem Test ließ sich diese Firmware problemlos mit esptool auf den XIAO ESP32-C6 übertragen. Anschließend konnte ich den Mikrocontroller über Thonny verbinden und eigene MicroPython-Programme ausführen. Auch der Test mit der User-LED an GPIO 15 funktionierte wie erwartet.

Alternative: Firmware aus der Seeed-Studio-Dokumentation

Seeed Studio stellt in seiner offiziellen Dokumentation ebenfalls eine MicroPython-Firmware für den XIAO ESP32-C6 bereit. Diese kannst du als ZIP-Archiv herunterladen:

https://files.seeedstudio.com/wiki/wiki-ranger/Contributions/ESP32C6-MicroPy/XIAO_ESP32C6_Micropython.zip

Auch diese Firmware habe ich testweise auf meinen XIAO ESP32-C6 geflasht. Das Flashen funktionierte problemlos und anschließend ließ sich der Mikrocontroller ebenfalls erfolgreich mit MicroPython programmieren.

Wenn du die Firmware von Seeed Studio verwenden möchtest, bleibt der in dieser Anleitung beschriebene Ablauf mit esptool grundsätzlich gleich. Du verwendest beim Flash-Befehl lediglich die entsprechende BIN-Datei aus dem ZIP-Archiv.

Für diese Anleitung empfehle und verwende ich jedoch die aktuelle Firmware direkt von der offiziellen MicroPython-Webseite.

Fazit

Das Flashen des XIAO ESP32-C6 mit MicroPython ist mit Python, pip und esptool schnell erledigt. Besonders angenehm ist dabei, dass der Mikrocontroller für den normalen Flash-Vorgang nicht erst umständlich über die winzigen BOOT- und RESET-Taster in den Download-Modus versetzt werden muss.

In dieser Anleitung habe ich die aktuelle SEEED_XIAO_ESP32C6-Firmware von MicroPython verwendet. Diese funktioniert auf meinem XIAO ESP32-C6 bislang problemlos und ließ sich anschließend direkt mit Thonny programmieren.

Mit dem erfolgreichen Blink-Test ist der Mikrocontroller nun für eigene MicroPython-Projekte vorbereitet. Gerade für schnelle Versuche, Sensoren oder kleinere Automatisierungsprojekte bietet MicroPython auf dem XIAO ESP32-C6 einen sehr unkomplizierten Einstieg.

Transparenzhinweis: Dieser Beitrag wurde mit Unterstützung künstlicher Intelligenz erstellt und redaktionell geprüft. Mehr zur Nutzung von KI

Letzte Aktualisierung am: 08. August 2026

Foto von Stefan Draeger
Über den Autor

Stefan Draeger — Entwickler & Tech-Blogger

Ich zeige praxisnah, wie du Projekte mit Arduino, ESP32 und Smarthome-Komponenten umsetzt – Schritt für Schritt, mit Code und Schaltplänen.

Mehr Artikel von Stefan →

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien

Kontakt & Hilfe

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden? Erstelle einfach ein Support-Ticket.

Support-Ticket erstellen
Keine Beiträge verpassen

Newsletter abonnieren

Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32, Smarthome und IoT direkt in dein Postfach.

Newsletter abonnieren
Freiwillige Unterstützung

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee. So hilfst du dabei, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

Auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kostenlose Online-Werkzeuge

Tools

Praktische Generatoren, Rechner und Hilfsmittel für deine Elektronik- und Entwicklungsprojekte.

Generatoren & Konverter

  • QR-Code Generator
  • Passwort Generator
  • PNG zu WebP konvertieren
  • Bilder online komprimieren
  • Code online formatieren

Rechner & Tabellen

  • Unix-Zeitstempel-Rechner
  • ASCII-Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner

LED-Matrix

  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix Generator
Kontakt

Anschrift & Kontaktdaten

Stefan Draeger

Königsberger Str. 13
38364 Schöningen

Telefon 01556 5432686

E-Mail info@draeger-it.blog

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com
Social Media

Folge mir auf

Weitere Projekte, Videos und Neuigkeiten findest du auch auf meinen Social-Media-Kanälen.

  • f Facebook
  • in LinkedIn
  • ▶ YouTube
  • ♪ TikTok
  • P Pinterest
  • ◎ Instagram
Rechtliche Informationen

Rechtliches

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
  • KI-Transparenz bei draeger-it.blog
©2026 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
  • Optionen verwalten
  • Dienste verwalten
  • Verwalten von {vendor_count}-Lieferanten
  • Lese mehr über diese Zwecke
Einstellungen anzeigen
  • {title}
  • {title}
  • {title}