Willst du eine geniale, smarte Pixel Clock fรผr dein Zuhause bauen? Mit ein wenig ESPHome-Magie und einem MAX7219 LED-Matrix-Display ist das unglaublich einfach. In diesem Beitrag zeige ich dir Schritt fรผr Schritt, wie aus ein paar Einzelteilen ein cooles Gadget fรผr dein Home Assistant Setup wird.

Die ursprรผngliche Idee fรผr diese Umsetzung stammt von Adam auf GitHub, der dieses Projekt bereits groรartig fรผr Home Assistant dokumentiert hat. Wir bauen seine Variante heute quasi eins zu eins nach. Lass ihm also gerne einen Stern auf GitHub da, wenn dir das Projekt gefรคllt.
Was genau brauchst du fรผr den Nachbau? Das Herzstรผck bildet ein Matrix-Display vom Typ MAX7219. Dazu gesellt sich ein passender ESP-Controller sowie ein herkรถmmliches Netzteil fรผr die Stromversorgung, das du bestimmt noch in einer Schublade findest. Fรผr das Gehรคuse kannst du auf einen 3D-Druck zurรผckgreifen.

Folgende Komponenten nutze ich und diese sind auch im Video:
| Vorschau | Produkt | Preis | |
|---|---|---|---|
|
|
AZDelivery MAX7219 8x32 4 in 1 Dot Matrix LED Display Modul...* | 10,99 EUR | Details anzeigen |
|
|
AZDelivery ESP32 NodeMCU Module WLAN WiFi Dev Kit C...* | Details anzeigen |
Es spricht รผberhaupt nichts dagegen andere Komponenten zu nutzen – insbesondere, wenn du noch einen ESP-Controller zu Hause hast bspw. Achte in diesem Fall nur noch mehr auf die PIN-Belegung, also den korrekten Anschluss.
Du magst Home Assistant? Dann abonniere kostenlos meine Beitrรคge mit Tipps, Tricks und Anleitungen rund um Home Assistant:
Follow Home Assistant
Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders รผberlegen!
Es gibt wunderschรถne 3D-Druck-Gehรคuse, bei denen man die Pins des Displays ablรถtet und elegant nach hinten wegfรผhrt (hierfรผr einfach auf den entsprechenden Portalen nach „MAX7219“ suchen und die passende Vorlage auswรคhlen). Wenn du es dir wie ich etwas einfacher machen mรถchtest, wรคhlst du eine Variante, bei der die Pins an der Seite bleiben. Das spart Zeit und Nerven. Adam hat hierzu auch eine simple Variante bereitgestellt.

Als Erstes schnappst du dir den Code aus dem entsprechenden GitHub-Repository. Damit dein ESP direkt reibungslos in deinem WLAN funkt, passt du deine Zugangsdaten und Secrets an. Richte dir am besten auch gleich das Captive Portal samt Fallback-Access-Point ein. Ebenso definierst du deine Keys fรผr den API-Zugriff und die Over-the-Air-Updates in ESPHome:
# Enable Home Assistant API
api:
encryption:
#secret anpassen/prรผfen
key: !secret api_key
ota:
- platform: esphome
#secret anpassen/prรผfen
password: !secret ota_password
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Max7219-Esp32-Reg"
#gerne ein sicheres Passwort wรคhlen
password: "12345678"
captive_portal:
Ein kleiner, aber wichtiger Tipp fรผr den Originalcode: รndere in Zeile 144 den Parameter auf Minus 1. Machst du das nicht, wird der Text auf dem MAX7219 Display am unteren Rand leicht abgeschnitten.
| Original-Code | Anpassung |
| it.print(0, 0, id(text_font), text.c_str()); | it.print(0, -1, id(text_font), text.c_str()); |
Damit die Anzeige spรคter gut aussieht, benรถtigst du noch die passenden Schriftarten Basis33 und Eight Bit Dragon. Lade dir diese herunter und kopiere sie einfach in dein ESPHome-Verzeichnis unter config/esphome/fonts. Im YAML-Code von Adam findest du hierfรผr den benรถtigten Link in Zeile 83 ๐
Jetzt geht es ans Eingemachte. Du erstellst in Home Assistant ein neues ESPHome-Gerรคt, wรคhlst die Import-Funktion und lรคdst deine angepasste YAML-Datei hoch. Klicke auf Installieren und lass eine .bin-Datei erstellen. Diese Datei lรคdst du herunter und flasht sie dann ganz bequem per USB-Kabel รผber web.esphome.io direkt auf deinen ESP-Controller.

Sobald das Gerรคt in Home Assistant auftaucht, trennst du den Controller unbedingt wieder vom Strom. Erst jetzt schlieรt du das MAX7219 Display an. Achte hierbei penibel auf die richtige Pinbelegung, um Schรคden an Controller oder Display zu vermeiden.
| MAX7219 | ESP32 |
| VCC | 5V |
| GND | GND |
| DIN | G27 |
| CS | G25 |
| CLK | G26 |
Dann kannst du den ESP32 wieder mit Strom versorgen und das Gerรคt in Home Assistant, wie bei ESPHome-Gerรคten รผblich, integrieren.
| Vorschau | Produkt | Preis | |
|---|---|---|---|
|
|
AZDelivery MAX7219 8x32 4 in 1 Dot Matrix LED Display Modul...* | 10,99 EUR | Details anzeigen |
|
|
AZDelivery ESP32 NodeMCU Module WLAN WiFi Dev Kit C...* | Details anzeigen |
Wenn alles lรคuft, stehen dir in Home Assistant tolle Steuerungsmรถglichkeiten zur Verfรผgung. Du kannst die Helligkeit des MAX7219 Displays regeln, zwischen Uhrzeit- und Text-Modus wechseln oder das Display komplett ausschalten. Besonders praktisch ist der Nachtmodus. Hierfรผr kannst du Start- und Endzeiten sowie eine minimale Helligkeit festlegen.

Im Text-Modus kannst du freie Texte an die Uhr senden. Ist der Text zu lang, scrollt er wie bei einem klassischen Ticker flรผssig durch das Bild. Das erรถffnet geniale Mรถglichkeiten fรผr dein Smart Home.
Beispiele: So nutzt du die Pixel Clock in deinen Home Assistant Automationen
Im Text-Modus spielt die Uhr durch ESPHome ihre wahren Stรคrken aus. Egal ob smarte Erinnerungen oder die Anzeige aktueller Sensorwerte โ mit den richtigen Automationen wird das Display zum perfekten Assistenten. Hier sind einige meiner liebsten Beispiele, die du ganz einfach als Inspiration nutzen kannst:
Sobald der Akku meiner PV-Anlage mindestens zu 90% geladen ist, lasse ich einen Info-Text fรผr 15 Sekunden anzeigen:
alias: Max7219-Bsp-1
description: ""
triggers:
- trigger: numeric_state
entity_id:
- sensor.rct_power_storage_mxwp_battery_state_of_charge
above: 90
conditions: []
actions:
- action: select.select_option
metadata: {}
target:
entity_id: select.max7219_esp32_reg_display_page
data:
option: Text
- action: text.set_value
metadata: {}
target:
entity_id: text.max7219_esp32_reg_display_text
data:
value: Akku fast voll!
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- action: select.select_option
metadata: {}
target:
entity_id: select.max7219_esp32_reg_display_page
data:
option: Clock
mode: single
Also generell ist nรถtig zuerst den Modus der Pixelclock auf „Text“ zu setzen, was dann am Ende der Automation auch wieder rรผckgรคngig gemacht werden muss.
Ein weiteres Beispiel ist das Anzeigen einer Benachrichtigung, bis ein Zustand erreicht wird:
alias: Max7219-Bsp-2
description: ""
triggers:
- trigger: numeric_state
entity_id:
- sensor.linkgear_co2_ampel_967258_scd41_co2
above: 800
conditions: []
actions:
- action: select.select_option
metadata: {}
target:
entity_id: select.max7219_esp32_reg_display_page
data:
option: Text
- action: text.set_value
metadata: {}
target:
entity_id: text.max7219_esp32_reg_display_text
data:
value: Fenster auf!
- wait_for_trigger:
- trigger: numeric_state
entity_id:
- sensor.linkgear_co2_ampel_967258_scd41_co2
below: 600
- action: select.select_option
metadata: {}
target:
entity_id: select.max7219_esp32_reg_display_page
data:
option: Clock
mode: single
Konkret lasse ich mich in diesem Beispiel benachrichtigen, wenn die Luft im Raum (also der CO2-Gehalt) schlecht wird. Und diese Benachrichtigung bleibt bestehen, bis der CO2-Gehalt dann wieder unter 600 sinkt.
Jetzt liegt es an dir: Such dir ein schickes Gehรคuse, flashe deinen ESP und hab ganz viel Spaร mit deiner eigenen ESPHome Pixel Clock!
| Vorschau | Produkt | Preis | |
|---|---|---|---|
|
|
AZDelivery MAX7219 8x32 4 in 1 Dot Matrix LED Display Modul...* | 10,99 EUR | Details anzeigen |
|
|
AZDelivery ESP32 NodeMCU Module WLAN WiFi Dev Kit C...* | Details anzeigen |
Produktempfehlungen



