📗 Einrichtung des ESPuino + Flashen der Firmware + Allgemeine Tipps

Dass Visual Studio Code mit Platformio auf deinem System bereits läuft, setze ich an dieser Stelle als gegeben voraus. Ggf. musst du aber auch gar keine eigene Firmware kompilieren: 📗 Fertige ESPuino-Firmwares zum Runterladen.

Einrichtung

  1. Siehe hier: 📗 ESPuino in Platformio anlegen und mit git aktuell halten.

  2. Verbinde die Complete/das Develboard per USB (kann auch schon vorher erfolgt sein; spielt keine Rolle). Wichtig: Auf Complete/Develboard befindet sich ein Chip, der eine Konvertierung von USB zu seriell durchführt. Für diesen Chip braucht man einen Treiber, der ggf. zuerst installiert werden muss. Normalerweise wird hier der CH340C verwendet, welcher bei Windows 11, Mac OS und Linux bereits „dabei“ ist.

  3. Wichtig ist nun, dass du das passende Profil (HAL) auswählst. Im nachfolgenden Bild ist das passende Profil für Complete ausgewählt, was für mini4L z.B. falsch wäre :slight_smile:. Du findest das Profil am unteren Bildschirmrand mit „env“ davor:

Klickst du dieses an, so kannst du es auch umstellen.

  1. Unterhalb dieses Profils nun auf Upload and Monitor klicken. Beim ersten Mal werden nun alle notwendigen Bibliotheken im Hintergrund geladen und anschließend der Code kompiliert - das kann eine Weile dauern. Ist dies abgeschlossen, so wird die Firmware auf den ESP32 aufgespielt.

  2. Anschließend sollten unten in der seriellen Konsole erste Lebenszeichen zu sehen sein. Wichtig ist an dieser Stelle zu wissen, dass der ESPuino für einen erfolgreichen Bootvorgang Zugriff auf die SD-Karte benötigt. Gibt es diesbzgl. eine Fehlermeldung, so wirf zuerst einen Blick in die FAQ. Hat alles funktioniert, so sollte der ESPuino einen Access Point geöffnet haben, der ESPuino heißt (sofern die Konfiguration nicht geändert wurde). Wunderbar, dein ESPuino ist nun einsatzbereit!

  3. Schaue nun auch hier vorbei:
    📗 Der erste Start deines ESPuino
    📗 ESPuino im Regelbetrieb
    📗 Die Playmodi des ESPuino

Weitere Tipps

  • Kompiliere nur solche Module (MQTT, FTP, Neopixel…) ein, die du auch benötigst. Das gilt z.B. für MQTT, da die Nichterreichbarkeit eines MQTT-Brokers Timeouts verursachen kann, die echt lästig sind. Andererseits benötigen diese Module auch Speicher und von solchem hat man auf einem Mikrocontroller eigentlich nie genug.
  • Die Ausgaben der seriellen Konsole kann auf unterschiedliche Stufen vor dem Kompilieren gestellt werden. Möglich sind ERROR, NOTICE, INFO oder DEBUG. In ERROR werden hierbei am wenigsten Meldungen ausgegeben und in DEBUG am meisten.
  • Wenn MQTT einkompiliert ist, dann stelle sicher, dass du über die WebGUI auch einen MQTT-Broker und ein (optionales) Passwort konfigurierst. Auch wenn MQTT einkompiliert ist, lässt es sich über die WebGUI nachträglich noch deaktivieren.
  • Falls du einen Neopixel verwendest, dann konfiguriere die Anzahl der LEDs NUM_LEDS passend (geht seit 08/2025 auch über das Webinterface). Eine Falschkonfiguration kann zu seltsamen Mustern oder sogar zum Absturz führen.
  • Wenn du die Batteriespannung messen willst, stelle sicher, dass MEASURE_BATTERY_VOLTAGE aktiviert ist.
  • Werden Neopixel und MEASURE_BATTERY_VOLTAGE zusammen verwendet, so kann die Batteriespannung auch via Neopixel visualisiert werden. Die Spannungsbereiche sind über die WebGUI einstellbar. Nach einem kurzen Tastendruck auf den Drehencoder wird die Spannung über den Neopixel angezeigt.
  • Wenn beispielsweise die optionale Kopfhörerplatine verwendet wird, so macht es Sinn HEADPHONE_ADJUST_ENABLE zu benutzen, so dass die Kopfhörerlautstärke begrenzt werden kann.
  • Ist SHUTDOWN_IF_SD_BOOT_FAILS gesetzt, so geht der ESPuino in Deepsleep, wenn nicht von SD-Karte gelesen werden kann. Benutze dieses Feature, wenn Batteriebetrieb verwendet wird, da du sonst im eingebauten Zustand ggf. keine Möglichleit mehr hast, den ESPuino neu zu starten.
  • Ist PLAY_LAST_RFID_AFTER_REBOOT aktiviert, so erinnert sich der ESPuino nach einem Neustart an die zuletzt aufgelegte Karte. Achtung: Tritt bei einer solchen Karte ein Fehler auf, kann man sehr schnell in eine Schleife gelangen, die man ohne neues Aufspielen der Firmware nicht beheben kann. Daher: Mit Vorsicht zu genießen!
  • Ist BLUETOOTH_ENABLE aktiviert, so kannst du im Bluetooth-Modus (erreichbar per Modifikationskarte oder Tasten-Kommando TOGGLE_BLUETOOTH_MODE) zwischen ‚normalem‘ Modus und Bluetooth-Modus wechseln. Hier kannst du z.B. mit deinem Handy auf deinen ESPuino streamen. WLAN funktioniert in diesem Modus nicht und man kann auch nichts von SD abspielen.
  • Ist USEROTARY_ENABLE aktiv, so kann der Drehencoder verwendet werden.
  • Solltest du mit der SD-Karte Probleme haben, so prüfe, ob diese FAT32 formatiert sind. Speicherkarten, die größer als 32 GB sind, werden ab Werk offenbar üblicherweise mit ExFAT formatiert, was der ESP32 jedoch (bisher?!) nicht unterstützt. Diese Karten müssen entsprechend umformatiert werden: Werden 64 Gb SD Karten unterstützt? - #5 von biologist.

Noch Fragen? Gerne! Aber bitte auch einen Blick in die FAQ werfen.

4 „Gefällt mir“

Hallo @biologist
Ich verstehe dort nur Bahnhof. Google translate hat es mir zwar in Deutsch übersetzt, aber das wars dann auch schon

git pull origin master

bringt bei mir

C:\Users\Stefan>git pull origin master
fatal: not a git repository (or any of the parent directories): .git

Funktioniert hat

git clone https://github.com/biologist79/ESPuino.git

Aber bereits, den Code sehe ich auch im Visual Studio Code

Da mußt du erst in das Verzeichnis ESPuino wechseln.
Das wurde von git beim clonen angelegt.

wenn du in der Ansicht versteckte Dateien mit anzeigen läßt findest du dort die Datei .git.
In der ist der Stand deiner Dateien und die Quelle auf Github abgelegt.

Und du hast Recht, es gibt viele Beschreibungen im Netz, leider viele in englischer Sprache. Auch innerhalb von Github wird fast nur Englisch benutzt. Das macht die Sache nicht einfacher.

Git ist enorm mächtig, dadurch aber auch recht kompliziert.

Git - Buch

git - Der einfache Einstieg - kein Schnick-schnack!

vieleicht eine Hilfe.

1 „Gefällt mir“

@raznz_snasna Im zweiten Link von @gmbo musst mal runter zu " update & merge" scrollen. Da ist das nochmal beschrieben.
Die Frage ist, wie du mein Repository runtergeladen hast. Wenn als zip, dann kommst du nicht weiter, weil dann .git fehlt. Aber wenn du mit „git clone“ arbeitest, dann sollte das im Anschluss funktionieren.

Danke euch,
ja ich habe mit git clone gearbeitet.

Eine dieser Mächtigkeiten ist, dass ich meine persönlichen Änderungen am Code (also die Defs und Board ausgewählt) nicht bei jedem Update wieder verliere, oder? Also es wird nicht einfach die Datei ner geladen, sondern die einzelnen Zeilen werden ersetzt?

Also wenn du eine manuelle Änderung machst und ich sie mit einer Änderung überschreiben würde, dann würdest du bei einem „merge“ gefragt, welche Variante du gerne hättest. Kommen neue Zeilen hinzu, dann werden diese integriert.

1 „Gefällt mir“