Manche Projekte entstehen nicht, weil man unbedingt etwas Neues braucht, sondern weil man etwas Vorhandenes anschaut und sich denkt: Da geht doch deutlich mehr.
Genau so ging es mir mit einer Schreibtischlampe, die bereits ein kleines Display eingebaut hatte. Das konnte Uhrzeit, Datum und Temperatur anzeigen – funktionierte also grundsätzlich, war technisch aber ziemlich langweilig.
Aus dem ursprünglichen Display wurde deshalb Nerd-Time³: drei 1,69-Zoll-Farbdisplays, ein ESP8266 D1 mini, MQTT, Home Assistant, OTA-Updates und eine kleine Weboberfläche – weiterhin im ursprünglichen Lampengehäuse.
In diesem Artikel zeige ich den Umbau, die Verkabelung und wie die drei Displays heute mit Home Assistant zusammenarbeiten.
Veröffentlicht am 25. September 2026
Kurz zusammengefasst
Nerd-Time³ ersetzt das ursprüngliche Lampendisplay durch drei ST7789V2-TFTs mit jeweils 240 × 280 Pixeln. Ein ESP8266 D1 mini steuert Uhrzeit, Energiedaten und frei konfigurierbare MQTT-Anzeigen.
Home Assistant liefert die Werte per MQTT. Zusätzlich unterstützt die Firmware Warnmeldungen, MQTT Discovery, eine Weboberfläche sowie OTA-Updates. Der Quellcode liegt auf GitHub.
Das Wichtigste in Kürze
- 3× ST7789V2 mit 240 × 280 Pixeln
- ESP8266 D1 mini als Controller
- Display 1: Uhrzeit und Datum
- Display 2: PV-Erzeugung, Hausverbrauch und Netzbezug
- Display 3: sechs freie MQTT-Slots und Warnmeldungen
- Home Assistant, MQTT Discovery, WebUI und OTA
Schnellnavigation
- Die ursprüngliche Schreibtischlampe
- Die Idee hinter Nerd-Time³
- Hardware und Verkabelung
- Einbau in das vorhandene Gehäuse
- Display 1: Uhrzeit und Datum
- Display 2: Energieübersicht
- Display 3: Raumwerte und MQTT-Slots
- Vollbild-Warnungen
- Home Assistant und MQTT
- WebUI und OTA
- Quellcode auf GitHub
- Probleme beim Umbau
- FAQ
- Fazit
Die ursprüngliche Schreibtischlampe
Die Lampe hatte ab Werk bereits ein Display für Uhrzeit, Datum und Temperatur. Praktisch war das durchaus, interessant aber nur bedingt. Spannender fand ich die vorhandene dunkle Abdeckung, hinter der sich neue Technik sehr unauffällig unterbringen ließ.

Mein Ziel war deshalb nicht, außen ein weiteres Smart-Home-Display anzubauen. Die Lampe sollte möglichst serienmäßig aussehen, während die alte Anzeige vollständig ersetzt wird.
Die Idee hinter Nerd-Time³
Drei kleine Farbdisplays passten gut in die vorhandene Fläche und ermöglichten eine klare Trennung der Funktionen. Daher kommt auch der Name Nerd-Time³: Die hochgestellte Drei steht schlicht für die drei Displays.
Für technische Namen verwende ich die ASCII-Variante Nerd-Time Trio. Das vermeidet Probleme mit Dateinamen, Hostnamen und MQTT-Topics.
- Anzeigename: Nerd-Time³
- GitHub-Projekt: Nerd-Time-Trio
- OTA-Hostname: nerd-time-trio
- MQTT-Basis:
zebra/nerd-time-trio
Hardware und Verkabelung
Der Umbau braucht nur wenige zusätzliche Komponenten:
- 1× ESP8266 D1 mini (bezahlter Link)
- 3× ST7789V2 TFT (bezahlter Link) mit 1,69 Zoll und 240 × 280 Pixeln
- Litze für SPI und Stromversorgung
- die vorhandene Schreibtischlampe (bezahlter Link) als Gehäuse
Der ESP8266 reicht dafür problemlos aus. Er übernimmt WLAN, MQTT, NTP, Weboberfläche, OTA-Updates und die Ausgabe auf allen drei Displays.


Alle drei TFTs teilen sich SPI, DC und Reset. Lediglich Chip Select ist pro Display getrennt:
| Signal | D1 mini | GPIO | Verwendung |
|---|---|---|---|
| SCK / SCL | D5 | GPIO14 | SPI-Takt für alle Displays |
| MOSI / SDA | D7 | GPIO13 | SPI-Daten für alle Displays |
| DC | D2 | GPIO4 | gemeinsam |
| RESET | D0 | GPIO16 | gemeinsam |
| CS Display 1 | D3 | GPIO0 | Uhr und Datum |
| CS Display 2 | D4 | GPIO2 | Energie |
| CS Display 3 | D1 | GPIO5 | Status und Warnungen |
| VCC | 3V3 | – | Versorgung |
| GND | GND | – | gemeinsame Masse |
| BLK | 3V3 | – | Hintergrundbeleuchtung |
Achtung bei D3 beziehungsweise GPIO0: GPIO0 ist ein Boot-Strapping-Pin des ESP8266. Die angeschlossene Hardware darf ihn beim Einschalten nicht dauerhaft auf LOW ziehen. Für einen festen Aufbau kann ein 10-kΩ-Pull-up nach 3,3 Volt sinnvoll sein.
Einbau in das vorhandene Gehäuse
Die drei TFTs sitzen direkt hinter der vorhandenen getönten Scheibe. Dadurch verschwinden Rahmen und Elektronik optisch weitgehend und der Umbau wirkt weiterhin wie ein Bestandteil der Lampe.


Display 1: Uhrzeit und Datum
Das erste Display bleibt der ursprünglichen Funktion am nächsten. Es zeigt groß die Uhrzeit sowie Wochentag, Datum und Jahr. Die Zeit kommt per NTP aus dem Netzwerk; Sommer- und Winterzeit werden automatisch berücksichtigt.
Die Anzeige wird nur einmal pro Minute aktualisiert. Eine Sekundenanzeige hätte hier kaum Mehrwert und würde lediglich häufiger neu zeichnen.
Display 2: PV-Erzeugung und Stromverbrauch
Das zweite Display zeigt bewusst nur drei große Tageswerte:
- Sonne: heutige PV-Erzeugung
- Haus: heutiger Hausverbrauch
- Stromnetz: heutiger Netzbezug
Die Werte werden in kWh dargestellt. In meinem Aufbau stammen die Messdaten von einem Shelly Pro 3EM und einem Anker-SOLIX-System. Home Assistant bildet daraus Tageswerte und sendet sie alle 15 Minuten per MQTT:
{
"pv": 3.42,
"grid": 1.18,
"consumption": 4.31
}
zebra/nerd-time-trio/energy
Eine häufigere Aktualisierung ist für Tagesenergie kaum sinnvoll und würde nur unnötig oft sichtbare Display-Redraws erzeugen.
Display 3: Raumwerte und freie MQTT-Slots
Das dritte Display ist am flexibelsten. Es besitzt sechs horizontale Slots, die unabhängig per MQTT beschrieben werden können. Aktuell nutze ich sie paarweise für Temperatur, Luftfeuchtigkeit und Luftqualität.
Überschriften und Werte können getrennt formatiert werden. Farben und Schriftgrößen lassen sich ebenfalls per JSON setzen:
{
"value": "22.4",
"unit": "C",
"color": "green",
"size": 3
}
Die Topics reichen von:
zebra/nerd-time-trio/slot/1
...
zebra/nerd-time-trio/slot/6
Dadurch ist Display 3 nicht an Raumklima gebunden. Es könnte genauso gut Netzwerkstatus, Serverwerte, Termine oder andere Informationen anzeigen.
Vollbild-Warnungen über MQTT
Über einen separaten Topic kann Display 3 vollständig auf eine Warnansicht umgeschaltet werden:
zebra/nerd-time-trio/alert
{
"active": true,
"title": "WASSERLECK",
"text": "Keller",
"color": "#FF0000"
}
Nach dem Löschen der Warnung erscheint wieder die normale Slot-Anzeige. So lassen sich beispielsweise Wasser-, Rauch-, Fenster- oder Türsensoren aus Home Assistant anbinden.
{"active": false}
Home Assistant und MQTT
Home Assistant liefert die Daten per MQTT. Die Firmware unterstützt außerdem MQTT Discovery, sodass verschiedene Entities automatisch angelegt werden können.
Für die Raumwerte sendet meine Automation alle 15 Minuten sechs Nachrichten direkt hintereinander. Damit Display 3 dabei nicht sechsmal sichtbar neu zeichnet, sammelt die Firmware aufeinanderfolgende Slot-Updates für etwa 350 Millisekunden und aktualisiert die Anzeige anschließend nur einmal.
Retained MQTT-Nachrichten sind hier praktisch: Nach einem Neustart kann der Broker die zuletzt gesetzten Werte erneut ausliefern, ohne dass Home Assistant auf die nächste reguläre Aktualisierung warten muss.
Weboberfläche, WiFiManager und OTA
Beim ersten Start öffnet Nerd-Time³ den Access Point Nerd-Time-Trio-Setup. Darüber werden zunächst die WLAN-Daten eingerichtet.
Anschließend steht eine kleine Weboberfläche für die MQTT-Konfiguration zur Verfügung. Firmware-Updates sind sowohl über ArduinoOTA als auch über den Browser möglich. Der OTA-Hostname lautet nerd-time-trio.
Sicherheit: Die aktuelle Weboberfläche ist für ein vertrauenswürdiges internes Netzwerk gedacht und besitzt keine eigene Anmeldung.
Nerd-Time Trio auf GitHub
Firmware, Verkabelung und Home-Assistant-Beispiele liegen im öffentlichen Repository:
GrayTheZebra/Nerd-Time-Trio auf GitHub
Für die Arduino IDE werden Adafruit GFX, Adafruit ST7735/ST7789, WiFiManager, PubSubClient und ArduinoJson benötigt. LittleFS, ESP8266WebServer und ArduinoOTA stammen aus dem ESP8266-Arduino-Core.
Welche Probleme gab es beim Umbau?
Chip Select und Boot-Pins
Für drei Displays werden drei CS-Leitungen benötigt. In meinem Aufbau funktioniert D3, D4 und D1 zuverlässig. Beim ESP8266 muss man dabei berücksichtigen, dass einige GPIOs gleichzeitig den Bootvorgang beeinflussen.
Die erste Energieanzeige war zu klein
Eine detaillierte Energieübersicht sah auf dem Rechner zunächst gut aus, war hinter der dunklen Scheibe aber schlecht lesbar. Die endgültige Version ist deshalb deutlich minimalistischer: großes Symbol, großer Wert, fertig.
Das Gradzeichen wurde nicht sauber dargestellt
Die verwendete Standardschrift stellte das Gradzeichen nicht zuverlässig dar. Deshalb verwende ich aktuell schlicht 22.4 C statt 22.4 °C.
Mehrere MQTT-Nachrichten sorgten für sichtbare Zwischenstände
Home Assistant schickt die sechs Slot-Werte direkt hintereinander. Ursprünglich wurde Display 3 nach jeder Nachricht komplett neu gezeichnet. Das führte zu sichtbarem Flackern. Der 350-ms-Puffer fasst diese Aktualisierungen inzwischen zu einem einzigen Redraw zusammen.
FAQ: Nerd-Time³
Brauche ich zwingend Home Assistant?
Nein. Nerd-Time³ kommuniziert per MQTT. Home Assistant ist in meinem Aufbau die Datenquelle und Automatisierungsplattform, grundsätzlich kann aber jedes System passende MQTT-Nachrichten senden.
Kann ich andere Werte anzeigen?
Ja. Besonders Display 3 ist bewusst flexibel gehalten. Seine sechs Slots lassen sich mit eigenen Texten, Einheiten, Farben und Schriftgrößen belegen.
Kann ich die Firmware drahtlos aktualisieren?
Ja. Unterstützt werden ArduinoOTA und Firmware-Updates über die Weboberfläche.
Fazit: Aus einer simplen Lampenuhr wurde Nerd-Time³
Die Lampe selbst war völlig in Ordnung – nur ihr ursprüngliches Display war sehr begrenzt. Mit drei kleinen TFTs und einem ESP8266 ist daraus jetzt eine Anzeige geworden, die sich direkt in mein Smart Home integriert.
Besonders gefällt mir, dass die Technik hinter der vorhandenen dunklen Abdeckung verschwindet. Der Umbau wirkt dadurch weiterhin wie ein Bestandteil der Lampe und nicht wie ein zusätzlich aufgesetztes Smart-Home-Modul.
Und vermutlich ist Nerd-Time³ damit noch nicht wirklich fertig. Sechs frei beschreibbare MQTT-Slots sind schließlich eine ziemlich gute Grundlage für die nächste unnötig praktische Idee.
GrayTheZebra ist Entwickler und Betreiber von prokrastinerd.de mit Fokus auf Smart Home ohne Cloud, ESP32 und MQTT-basierte Systeme. Alle Projekte basieren auf praktischer Umsetzung und eigener Hardwareentwicklung.
Autorprofil und Hintergrund:
Über GrayTheZebra

