📗 Fertige ESPuino-Firmwares zum Runterladen

Einführung

Das Einrichten von Platformio samt dem Management mit git ist nicht ganz trivial. Wer sich das sparen möchte, kann fertige Firmwares auch runterladen und über ESPuinos Webinterface flashen.

Neues Repository

Zum Ablegen/Archivieren der Firmwares habe ich ein eigenes Repository angelegt: ESPuino-Firmware. Mit jedem Commit, der in ESPuino gemacht wird, werden dort, sofern der Bauprozess erfolgreich war, Firmwares hochgeladen.

Beispiel mit Commit-ID 0dadbe7 aus dem dev-Branch:

Das landet dann in ESPuino-Firmware im dev-Unterverzeichnis und die Commit-ID ist Teil der dortigen Commit-Message:


Brauchst du eine ältere Firmware, so klickst du rechts oben auf „History“.

Unterstützte HALs

Unterstützt werden aktuell folgende HALs:

  • lolin_d32_pro
  • lolin_d32_pro_sdmmc_pe
  • ttgo_t8
  • complete

Mit folgenden RFID-Reader

  • PN5180
  • RC522

Bluetooth:

  • mit Bluetooth (BT)
  • ohne Bluetooth (noBT)

Gebaut/Kompiliert wird mit den ESPuino-Standardeinstellungen (und Port-Expander wenn nötig), so dass sich in Summe aus der Kombinatorik (Stand 09/2025) 16 unterschiedliche Firmwares ergeben.

:red_exclamation_mark: Dateinamen sind wiefolgt aufgebaut: firmware-{HAL}-{RFID-Reader}-{Bluetooth}.bin

Das neue Firmware-Repository ist nach Branches unterteilt. D.h. Commits aus Master und dev sind auch dort getrennt.

Wie kommt die Firmware auf den ESPuino?

Alle Boards, die ich ausliefere, sind bereits vorgeflasht mit PN5180-Support. ESPuino lässt sich also starten (auch ohne passenden RFID-Reader) und du kannst das Webinterface erreichen. Solltest du z. B. den RFID-Reader RC522 (anstelle PN5180) verwenden wollen, so kannst du die passende Firmware runterladen und über das ESPuino-Webinterface flashen. Klicke hierzu auf „Tools“ und scrolle runter zu „Firmware-Update“:

Nach dem Auswählen des zuvor runtergeladenen Firmware-Files klickst du auf Absenden. Das Ganze dauert ungefähr eine Minute und ESPuino sollte im Anschluss neu starten.
:red_exclamation_mark: Achte UNBEDINGT darauf, die passende Firmware zu flashen. Für >90 % aller ESPuino-User sind nur die nachfolgenden HALs von Relevanz:

Beachtest du das nicht und flashst die falsche Firmware, so startet dein ESPuino ggf. nicht mehr und die Hardware kann sogar Schaden nehmen. Das gilt allerdings auch beim Kompilieren über Platformio und ist insofern keine Neuigkeit/Besonderheit.

Was mache ich, wenn ich spezielle Compile-Flags benötige?

Brauchst du beispielsweise Support für MQTT_ENABLE, so musst du dir Firmware leider weiterhin selbst kompilieren. Es sind allerdings auch schon einige Optionen im Webinterface vorhanden, für die entsprechend keine Firmware extra kompiliert werden muss. Wir arbeiten daran, weitere in das Webinterface zu bekommen.
Klicke im Webinterface auf „Allgemein“: Dort findest du einerseits einige Optionen, die bereits jetzt über das Webinterface konfigurierbar sind:

Andererseits gibt es dort auch erweiterte Einstellungen, mit denen man Neopixel-Einstellungen und das dyn. Button-Layout konfigurieren kann. Auch die Drehrichtung des Drehencoders kann man dort umkehren. Suche dafür nach „Erweiterte Einstellungen“ und blende sie ein:




Was mache ich, wenn mein HAL nicht dabei ist?

  • Aufgrund Speichermangels mussten verschiedene HALs leider abgekündigt werden, da kein PSRAM vorhanden ist. Hier ist es leider notwendig, auf die Complete zu wechseln.
  • A1S besitzt PSRAM, wurde jedoch mangels verfügbarer GPIOs eingestellt.
  • Firmwares für Custom-Boards können natürlich auch keine bereitgestellt werden.
9 „Gefällt mir“

Wow, sehr cool! Das holt schon ma viele direkt ab :+1:

Das heißt, sind die im Standard-Build aktiv oder inaktiv?

Das, was per default in settings.h eingestellt ist. Also nicht aktiv.
Ich denke MQTT könnte man ziemlich einfach umstellen, da es im Webfrontend schon einen Schalter gibt, um es zu aktivieren/deaktivieren. Also da könnte man den Default ändern und das würde ich demnächst auch gerne machen.

BT war früher per Default auch drin, aber ich meine, dass wir das aufgrund Speichermangels deaktiviert haben. Ich meine, dass irgendwelche Kombinationen zu IRAM-Mangel geführt haben. Vielleicht weiß das @tueddy noch.

@biologist : Cool!!

Nicht dass ich das mit VSC nicht hinbekommen habe, - aber um auf die Schnelle mal was hochzuladen ohne große Änderungen einfach Klasse.

Großes Lob von mir :smiling_face_with_three_hearts:

1 „Gefällt mir“

So, ich habe jetzt BT noch dazu genommen. Es sind jetzt also insgesamt 16 Firmwares.

2 „Gefällt mir“

Besten Dank für die fertigen Firmwares, @biologist!

Ich habe gestern das DEV-Release installiert, aber da ist noch ein Bug mit fehlender Steuerung als Bluetooth-Lautsprecher drin. Irgendwo hatte ich hier im Forum mal gelesen, dass das gefixt wurde, aber kann den Beitrag nicht mehr finden. Weißt du, ob das stimmt? Wenn ja, würde ich nochmal neu kompilieren. Wenn nicht, spar ich mir den Aufwand.

Muss sich @tueddy anschauen. Bluetooth ist nicht meine Baustelle :slight_smile:
Im Zweifel ein neues Thema hier aufmachen.

Ich habe alle Modi mit der aktuellen Version „20251031-1-DEV” getestet und dabei ist mir aufgefallen, dass es aktuell einen Crash/Reboot im Bluetooth-Lautsprecher-Modus (BT-Sink) gibt. Bluetooth auf dem Kopfhörer (BT-Source) funktioniert hingegen einwandfrei.
Grund dafür sind Änderungen in der Audiobibliothek und unsere Änderungen an der Audio-Fortschrittsanzeige. Ich habe das Problem gefunden und werde in Kürze einen Patch bereitstellen.

3 „Gefällt mir“

Crash sollte mit 20251124-1-DEV behoben sein.

2 „Gefällt mir“