Repository navigation
Hardware
🇩🇪 Deutsch | 🇬🇧 English
Elektronik
- Board mit ESP8266, ESP8285, ESP32 oder ESP32-C3, z. B. NodeMCU oder Wemos D1 Mini
- LED-Streifen WS2812B (RGB) oder SK6812 (RGBW)
- Netzteil 5 V. Leuchten viele Buchstaben weiß, zieht die Matrix mehrere Ampere, empfohlen sind 3 bis 5 A
- Optional: RTC (DS3231, DS1307 oder PCF8523) für den Betrieb ohne WLAN
- Optional: Lichtsensor, entweder LDR (Typ 5528) mit 10-kΩ-Widerstand oder BH1750
- Optional: bis zu drei Taster (Power, Modus, Geschwindigkeit)
- Optional: Pegelwandler wie 74AHCT125, alternativ der Dioden-Trick (siehe unten)
Mechanik
- Rahmen, z. B. Bilderrahmen aus Holz oder Metall mit mindestens 14 mm Rahmenhöhe
- Frontplatte mit den Buchstaben (Edelstahl, beschichtetes Acryl oder Holzfurnier)
- Diffusor: milchige Folie oder Architektenpapier direkt hinter der Front
- Lichtgitter (Holz, MDF, Schaum oder 3D-Druck), das jede LED von ihren Nachbarn trennt
- Trägerplatte, auf die die LED-Streifen passend zum Gitter geklebt werden
Vorlagen für Frontplatten liegen im Ordner svg (250 bis 500 mm), 3D-Modelle in 3D_Model.
| Front | Matrix | LED-Streifen | Hinweis |
|---|---|---|---|
| 30 × 30 cm | 25 × 25 cm | 60 LEDs/m | Standardmaß, jede LED wird genutzt |
| 40 × 40 cm | 35 × 35 cm | 74 LEDs/m | Jede zweite LED einer Reihe bleibt ungenutzt (Bauart in der Weboberfläche) |
| 50 × 50 cm | 50 × 50 cm | 30 LEDs/m | Der LED-Abstand passt direkt zum Raster |
Die Streifen werden meist im Zick-Zack (mäanderförmig) verklebt: DOUT einer Zeile geht an DIN der nächsten Zeile auf derselben Seite. Wie die Matrix verlegt ist, lässt sich in der Weboberfläche und in Konfiguration einstellen (Spiegelung, Drehung, Mäander, zusätzliche LEDs pro Reihe).

- Netzteil +5 V an den 5-V-Pin des ESP und an +5 V des LED-Streifens
- Netzteil GND an GND des ESP und an GND des LED-Streifens
- Daten-Pin des ESP an DIN der ersten LED. Standard ist GPIO3 (RX)
Bei langen Streifen +5 V und GND zusätzlich an mehreren Stellen einspeisen.
Der ESP arbeitet mit 3,3 V, die WS2812B erwartet für ein sicheres High-Signal mindestens 0,7 × Versorgungsspannung, bei 5 V also etwa 3,5 V. Ohne Anpassung funktioniert es oft, aber nicht immer.
- Pegelwandler: z. B. 74AHCT125 zwischen ESP und DIN.
- Dioden-Trick: Die erste LED über eine Diode in der +5-V-Leitung versorgen. Sie läuft dann mit etwa 4,3 V und erkennt 3,3 V sicher als High. Ihr Ausgang treibt die zweite LED wieder mit vollem Pegel. Dazu die +5-V-Leitung zwischen erster und zweiter LED auftrennen (nur +5 V, nicht Daten und GND) und den Rest des Streifens direkt vom Netzteil versorgen.
- Oft hilft schon ein Widerstand von etwa 470 Ω in der Datenleitung.
Pins werden in der Weboberfläche unter Einstellungen → Hardware-Pins eingetragen, immer als GPIO-Nummer, nicht als Board-Bezeichnung wie D4.
| Funktion | Standard | Hinweis |
|---|---|---|
| LED-Daten | GPIO3 (RX) | Auf dem ESP8266 nutzt RX die Hardware-Ansteuerung, andere Pins laufen per Bit-Bang |
| Power-Taste | aus (255) |
Taster gegen GND, interner Pull-up |
| Modus-Taste | aus (255) |
Taster gegen GND, interner Pull-up |
| Geschwindigkeits-Taste | aus (255) |
Taster gegen GND, interner Pull-up |
| I2C SDA / SCL | ESP8266: D2 / D1, ESP32 und ESP32-C3: aus (255) |
SDA und SCL nur gemeinsam setzen oder abschalten |
Jeder GPIO darf nur einmal belegt werden. Doppelte oder ungültige Pins lehnt die Firmware ab und stellt die Standardwerte wieder her.
| Chip | Gut geeignet | Nicht verwenden | Mit Vorsicht |
|---|---|---|---|
| ESP8266 / ESP8285 | LED: GPIO3 (RX), 4, 5, 12, 13, 14. Taster: 4, 5, 12, 13, 14 | GPIO6–11 (Flash) | GPIO0, 2, 15 (Boot-Pins), GPIO16 (kein interner Pull-up) |
| ESP32 | GPIO4, 13–19, 21–23, 25–27, 32, 33 | GPIO6–11 (Flash), GPIO34–39 nur Eingang und ohne Pull-up | GPIO0, 2, 5, 12, 15 (Boot-Pins), GPIO1 und 3 (UART) |
| ESP32-C3 | GPIO0, 1, 3–7, 10, 11, 20, 21, sofern auf dem Board herausgeführt | GPIO12–17 (Flash/PSRAM) | GPIO2, 8, 9 (Boot-Pins), GPIO18, 19 (USB-JTAG) |
Taster dürfen beim Einschalten keinen Boot-Pin auf LOW ziehen, sonst startet der ESP nicht.
| Taste | Kurz drücken | Lang drücken |
|---|---|---|
| Power | LEDs aus bzw. mit den vorherigen Farben wieder an | – |
| Modus | nächster Anzeigemodus | nächster Übergang |
| Geschwindigkeit | Helligkeit erhöhen | Farbton wechseln |
Änderungen über die Taster erscheinen sofort in jeder offenen Weboberfläche und in Home Assistant.
Eine RTC hält die Uhrzeit ohne WLAN und über Stromausfälle hinweg. Unterstützt werden DS3231 (Standard, am genauesten), DS1307 und PCF8523.
- RTC an 3,3 V, GND, SDA und SCL anschließen.
- In der Weboberfläche unter Einstellungen → Hardware-Pins SDA und SCL eintragen.
-
I2C-Adressen suchen: Die RTC antwortet unter
0x68.
Für DS1307 oder PCF8523 muss in include/Config.h RTC_Type auf RTC_DS1307 bzw. RTC_PCF8523 gesetzt und selbst kompiliert werden, die fertige Firmware ist für die DS3231 gebaut.
Das HW-111 nutzt eine DS1307 und meldet sich zusätzlich mit seinem EEPROM unter 0x50. Es lädt die Knopfzelle über Diode und Widerstände, gedacht für eine aufladbare LIR2032. Mit einer normalen CR2032 muss diese Ladeschaltung entfernt werden, sonst kann die Zelle auslaufen oder sich aufblähen: D1, R4, R5 und R6 auslöten und die Pads von R6 brücken (Arduino-Forum).
| Sensor | Anschluss | Hinweis |
|---|---|---|
| LDR | Spannungsteiler mit 10 kΩ am analogen Eingang | Widerstandswerte in Konfiguration (AUTOBRIGHT_LDR_…) |
| BH1750 | I2C, Adresse 0x23 oder 0x5C
|
Wird nur genutzt, wenn er gefunden wird, und hat dann Vorrang vor dem LDR |
Die Regelung selbst wird in der Weboberfläche eingestellt.
Ein zusätzlicher LED-Streifen um die Buchstabenmatrix zeigt die Sekunden an. Er wird am Ende des LED-Streifens angeschlossen, also hinter Matrix und Minuten-LEDs. Möglich sind 0 bis 200 LEDs, die Anzahl wird in der Weboberfläche eingetragen. Nicht möglich bei den Layouts 16 × 8 und 22 × 11 Wetter.