📗 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 19ae657 aus dem dev-Branch:

Das landet dann in ESPuino-Firmware 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

Und folgende RFID-Reader

  • PN5180
  • RC522

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

:red_exclamation_mark: Dateinamen sind wiefolgt aufgebaut: firmware-{RFID-Reader}-{HAL}.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 BLUETOOTH_ENABLE oder MQTT_ENABLE, so musst du dir Firmware leider weiterhin selbst kompilieren. Es sind allerdings auch schon einige 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 Drehencoder kann man dort umkehren. Suche dafür nach „Erweiterte Einstellungen“ und blende sie ein:




Was mache ich, wenn mein HAL nicht dabei ist?

  • Aufgrund von Speichermangel 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.
1 „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.