IoT-Tutorial: Schnell loslegen mit dem XIAO ESP32-C3: Leuchtet die LED?

Dieses IoT-Tutorial habe ich in einem Workshop verwendet, den ich auf der FOSS4G Europe 2026 in Rumänien gehalten habe. In einem anderen Blogbeitrag, „Rückblick auf die FOSS4G Europe 2026 in Timișoara, Rumänien“, berichte ich über meine Erfahrungen auf dieser fantastischen Konferenz.

Bei GIS geht es schon lange nicht mehr nur um die Analyse bestehender Datensätze. Immer häufiger werden geografische Daten in Echtzeit mit IoT-Sensoren erfasst. Daher wird es für Geo-Fachleute immer wichtiger zu verstehen, wie Sensordaten erfasst, verarbeitet und über WLAN und Protokolle wie MQTT in ein GIS übertragen werden. Dieses Wissen ist unter anderem in den Bereichen Wasserwirtschaft, Infrastruktur, Landwirtschaft und Smart Cities unverzichtbar. Die blinkende LED in diesem Tutorial ist der erste Schritt zum Aufbau professioneller Geo-IoT-Lösungen mit Echtzeit-Geodaten.

Jedes Mikrocontroller-Projekt beginnt mit einem ersten Programm. In diesem Tutorial lernst du, wie du den XIAO ESP32-C3 einrichtest, die Arduino-IDE installierst und ein einfaches Programm hochlädst, das eine LED blinken lässt.

Dabei lernst du die Grundlagen der Hardware, Software und des Programmier-Workflows kennen, die für die Entwicklung von ESP32-Projekten verwendet werden.

Welche Hardware benötigst du?

Auch wenn eine blinkende LED auf den ersten Blick einfach erscheint, ist dies ein wichtiger erster Schritt. Sobald du verstanden hast, wie man Code hochlädt und Hardware steuert, bist du bereit, komplexere Projekte mit Sensoren, drahtloser Kommunikation und IoT-Technologien zu realisieren.

Bevor du dein erstes Programm hochlädst, benötigst du ein paar einfache Komponenten. Keine Sorge, wenn du noch nie mit Elektronik gearbeitet hast: Diese Schaltung lässt sich einfach aufbauen und erfordert kein Löten.

Für dieses Tutorial benötigst du:

  • Mikrocontroller: XIAO ESP32-C3
  • Breadboard
  • 5-mm-LED
  • 330-Ω-Widerstand
An image of a microcontroller: XIAO ESP32-CR Picture of a breadboard for connecting without soldering

 

Red 5mm LED Picture of a 330-Ω resistor

 

Die Rennstrecke aufbauen

Nachdem du nun alle erforderlichen Bauteile hast, kannst du diese wie unten dargestellt auf dem Steckbrett anschließen:

Visualization of hardware setup on the breadboard

Nachdem die Schaltung aufgebaut ist, müssen wir dem Mikrocontroller mitteilen, was er tun soll. Dazu werden wir den XIAO ESP32-C3 programmieren.

Programmierung des XIAO ESP32-C3

Wir beginnen mit der Installation der Arduino-IDE, der Konfiguration der Software für die ESP32-Entwicklung und dem Anschließen des Boards an den Computer. Sobald alles eingerichtet ist, laden wir unser erstes Programm hoch, um die LED blinken zu lassen.

Arduino IDE installieren

    1. Lade die neueste stabile Version der Arduino IDE von der offiziellen Website herunter: https://www.arduino.cc/en/software
    2. Wähle den Download für dein Betriebssystem aus und befolge die folgenden Schritte:

Unter Windows:

  1. Laden Sie die Windows-Installationsdatei herunter (.exe).
  2. Öffnen Sie die heruntergeladene Datei.
  3. Folgen Sie den Anweisungen des Installationsassistenten und übernehmen Sie die Standardeinstellungen, sofern Sie keinen Grund haben, diese anzupassen.
  4. Öffnen Sie nach der Installation die Arduino-IDE über das Startmenü.

Unter macOS:

    1. Laden Sie das macOS-Disk-Image herunter (.dmg).
    2. Öffnen Sie die heruntergeladene Datei.
    3. Zieh die Arduino IDE in den Ordner „Programme“.
    4. Öffnen Sie die Arduino IDE aus dem Ordner „Programme“ oder über Spotlight.

Unter Linux:

      1. Laden Sie das Linux-AppImage herunter.
      2. Öffnen Sie die Dateieigenschaften und erteilen Sie der Datei die Berechtigung, als Programm ausgeführt zu werden.
      3. Doppelklicken Sie auf das AppImage, um die Arduino-IDE zu starten.

ESP32-Board-Unterstützung installieren

Die Arduino-IDE unterstützt das XIAO ESP32-C3 standardmäßig nicht. Sie müssen daher zunächst die offizielle Paketquelle von Espressif hinzufügen und anschließend das ESP32-Board-Paket installieren.

  1. Öffnen Sie die Arduino-IDE.
  2. Gehen Sie unter Windows oder Linux zu „Datei > Einstellungen“. Gehen Sie unter macOS zu „Arduino IDE > Einstellungen“.
  3. Suchen Sie nach „Additional Boards Manager URLs“ und fügen Sie die folgende URL hinzu: https://espressif.github.io/arduino-esp32/package_esp32_index.json
  4. Befindet sich bereits eine URL in diesem Feld? Verwenden Sie dann die Schaltfläche neben dem Feld, um die ESP32-URL in einer neuen Zeile hinzuzufügen, anstatt die vorhandene URL zu überschreiben.
  5. Klicken Sie auf „OK“, um die Einstellungen zu speichern.
  6. Öffnen Sie „Tools > Board > Boards Manager“ oder klicken Sie auf das Symbol „Boards Manager“ in der Seitenleiste.
  7. Suchen Sie nach „esp32“.
  8. Suchen Sie nach „esp32 by Espressif Systems“ und klicken Sie auf „Installieren“.
  9. Warten Sie, bis die Installation abgeschlossen ist, und starten Sie anschließend die Arduino-IDE neu.

Das Board anschließen

Schließen Sie das XIAO ESP32-C3 mit einem USB-C-Kabel an Ihren Computer an.

Verwende ein USB-C-Kabel, das Daten übertragen kann. Manche USB-C-Kabel eignen sich nur zum Aufladen von Geräten. Wird das Board nicht in der Arduino IDE angezeigt? Versuche es dann zunächst mit einem anderen Kabel.

Das Board auswählen

Gehe zu „Tools“ > „Board“ > „esp32“ und wähle „XIAO_ESP32C3“ aus. Du kannst auch die Board-Auswahl oben im Arduino-IDE-Fenster verwenden und nach „XIAO_ESP32C3“ suchen.

Den richtigen Anschluss auswählen

Gehe zu „Tools“ > „Port“ und wähle den zum Board gehörenden USB-Seriell-Port aus. Du kannst diesen auch über den Board-Selektor oben im Arduino-IDE-Fenster auswählen.

Unter Windows ist dies in der Regel ein COM-Anschluss, zum Beispiel COM3, COM4 oder eine höhere Nummer. Unter macOS oder Linux beginnt der Name meist mit /dev/.

Bist du dir nicht sicher, welcher Port zum Board gehört? Trenne das Board, sieh dir die Liste der Ports an, schließe das Board wieder an und überprüfe, welcher Port angezeigt wird.

Überprüfe die Installation

  1. Öffne „Datei“ > „Neues Skript“.
  2. Überprüfe, ob im Board-Selektor oben im Fenster „XIAO_ESP32C3“ und der richtige Anschluss ausgewählt sind. Wähle diese bei Bedarf erneut aus.
  3. Klicke auf die Schaltfläche mit dem Häkchen oder wähle „Sketch“ > „Verifizieren/Kompilieren“, um das leere Sketch zu kompilieren. Damit überprüfst du, ob das Board-Paket und der Compiler korrekt funktionieren.
  4. Klicken Sie auf die Pfeiltaste oder wählen Sie „Sketch“ > „Hochladen“, um den Sketch auf das Board hochzuladen.
  5. Beobachte das Ausgabefenster am unteren Bildschirmrand. Die Arduino-IDE kompiliert zunächst den C/C++-Code in Maschinencode und lädt diesen anschließend auf das Board hoch. Warte, bis die IDE anzeigt, dass der Upload abgeschlossen ist.

Mit etwas Glück ist alles gut gelaufen und dein Programm macht überhaupt nichts. Perfekt. Das bedeutet, dass du das Board erfolgreich programmieren kannst.

Den „Blink“-Sketch hochladen

Kopiere den folgenden Code, füge ihn ein und lade ihn anschließend auf dein XIAO hoch, indem du in der Arduino-IDE auf den Pfeil nach rechts klickst.

// XIAO has no built-in LED.
#define LED_NOTBUILTIN D10

void setup() {
  pinMode(LED_NOTBUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_NOTBUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_NOTBUILTIN, LOW);
  delay(1000);
}

Das war’s schon! Wenn alles geklappt hat, blinkt die LED jetzt.

Fehlerbehebung

Die Karte wird nicht erkannt

  • Verwenden Sie ein USB-C-Kabel, das Datenübertragung unterstützt.
  • Trennen Sie das Board und schließen Sie es erneut an.
  • Schließen Sie den Serial Monitor, falls er geöffnet ist.
  • Öffnen Sie das Menü „Extras > Port“ erneut.
  • Drücken Sie einmal auf die RESET-Taste auf dem Board.
  • Probieren Sie einen anderen USB-Anschluss aus.
  • Starten Sie die Arduino-IDE neu.

Wenn der Upload bei „Connecting…“ hängen bleibt, drücken Sie die RESET-Taste, sobald diese Meldung erscheint, und versuchen Sie den Upload erneut.

Und jetzt?

Herzlichen Glückwunsch!

Du hast deinen ersten XIAO ESP32-C3 erfolgreich programmiert und eine externe LED angesteuert.

Möchtest du weitere praktische IoT-Projekte umsetzen? Dann geht der Kurs „Vom Sensor zur Karte mit C++ und XIAO ESP32 C3“ über die Grundlagen hinaus. Du lernst, Sensoren anzuschließen, Daten über WLAN zu senden, mit MQTT zu arbeiten, GeoJSON zu generieren und Sensordaten aus der Praxis auf interaktiven Karten zu visualisieren.

Joram van der Vlist

Joram ist GIS-Entwickler und auf cloudnative und webbasierte Geolösungen spezialisiert.

Erhalten Sie jede Woche die besten
Geo-Inhalte in Ihrem E-Mail-Postfach

Oeps! We konden je formulier niet vinden.

Joram van der Vlist

Joram ist GIS-Entwickler und auf cloudnative und webbasierte Geolösungen spezialisiert.

Erhalten Sie jede Woche die besten
Geo-Inhalte in Ihrem E-Mail-Postfach

Oeps! We konden je formulier niet vinden.

Oeps! We konden je formulier niet vinden.

Joram van der Vlist

Joram ist GIS-Entwickler und auf cloudnative und webbasierte Geolösungen spezialisiert.

Erhalten Sie jede Woche die besten
Geo-Inhalte in Ihrem E-Mail-Postfach

Oeps! We konden je formulier niet vinden.