In diesem Tutorial bauen wir eine elektronische Flip-Uhr mit dem LILYGO T-Display S3 Long.
Der T-Display S3 Long ist ein kompaktes Entwicklungsboard basierend auf dem ESP32-S3 Mikrocontroller. Es verfügt über einen breiten, länglichen Farb-Bildschirm. Mit Wi-Fi- und Bluetooth-Unterstützung bietet es eine großartige Plattform für displayorientierte Anwendungen.

Das T-Display S3 Long wird mit Code für eine optisch ansprechende Flip-Uhr geliefert (siehe oben), aber es ist nicht einfach, diesen Code zum Laufen zu bringen – es hat bei mir 2 Tage gedauert. In den folgenden Abschnitten zeige ich, wie man ihn vereinfacht und mit der Arduino IDE und dem aktuellen ESP32 Core 3.3.x zum Laufen bringt.
Benötigte Teile
Du benötigst ein T-Display S3 Long von LILYGO und ein USB-C-Kabel, um das Board zu programmieren und die Codebeispiele auszuprobieren.

LILYGO T-Display S3 Long

USB-C-Kabel
Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.
Das T-Display S3 Long
Das T-Display S3 Long basiert auf dem ESP32-S3R8 Mikrocontroller, einem Dual-Core LX7 Prozessor mit WiFi (802.11) und Bluetooth Low Energy (BLE 5) sowie Unterstützung für Bluetooth Mesh. Das Board beinhaltet 16 MB Flash-Speicher zur Programmspeicherung und 8 MB PSRAM für zusätzlichen RAM. Es verfügt über eine Batteriespannungserkennung an GPIO02, die das Überwachen einer angeschlossenen Batterie ermöglicht.
Das Display ist ein 3,4-Zoll kapazitives Touch-TFT-LCD, das Farbmodi mit 16-Bit (RGB565) und 18-Bit (RGB666) unterstützt. Die Auflösung beträgt 180 (horizontal, RGB) × 640 (vertikal) Pixel. Das Display ist über QSPI angebunden, was relativ schnelle Datenübertragungen für grafische und Touch-Anwendungen ermöglicht.

An Bord sind ein Boot-Button und ein Reset-Button sowie ein Hardware-Schalter für die Batterie (siehe oben). Stromversorgung und Programmierung erfolgen über USB-C. Das Board bietet außerdem Funktionen zur Unterstützung des batteriebetriebenen Betriebs. Der Stromverbrauch liegt bei etwa 140mA mit aktivem Display und ca. 50mA bei ausgeschaltetem Display.
Die folgende Tabelle fasst die technischen Spezifikationen zusammen:
| Parameter | Wert |
|---|---|
| Mikrocontroller | ESP32-S3R8 (Dual-Core LX7) |
| Drahtlose Konnektivität | WiFi 802.11, Bluetooth Low Energy 5, Bluetooth Mesh |
| Flash-Speicher | 16 MB |
| PSRAM | 8 MB |
| Displaygröße & Typ | 3,4-Zoll kapazitives Touch-TFT-LCD |
| Display-Farbtiefen | RGB565 (16-Bit), RGB666 (18-Bit) |
| Display-Auflösung | 180 (H, RGB) × 640 (V) Pixel |
| Display-Schnittstelle | QSPI |
| Batteriespannungserkennung | GPIO02 |
| Onboard-Steuerungen | Boot-Button, Reset-Button, Batterieschalter |
| Programmier- / Stromversorgungs-Schnittstelle | USB-C |
Komponenten des T-Display S3 Long
Das folgende Bild zeigt die Komponenten des T-Display S3 Long. Man sieht die Vorder- und Rückseite des Display-Moduls. Auf der Rückseite befinden sich alle Anschlüsse, die Wi-Fi-Antenne und der ESP32-Chip:

Es gibt einen USB-C-Anschluss, einen Qwiic-Anschluss, einen Anschluss für eine LiPo-Batterie und einen GPIO-Anschluss. Mehr zu den verfügbaren GPIO-Pins im nächsten Abschnitt.
Pinbelegung des T-Display S3 Long
Auf der Rückseite des Moduls befindet sich ein kleiner (1,27 mm Raster) Anschluss mit 30 Pins. Er stellt 16 GPIO-Pins bereit, wie auf dem Rückseitenetikett angegeben:

Code für Flip-Uhr auf dem T-Display S3 Long
In diesem Abschnitt installieren wir die Bibliotheken, laden den Code herunter und spielen den Flip-Uhr-Code auf das T-Display S3 Long auf.
Bibliotheken installieren
Gehe zuerst zum Lilygo GitHub-Repo für das Display unter T-Display-S3-Long. Klicke auf den grünen „<> Code“-Button und dann auf „Download ZIP“, um das Repo als ZIP-Datei herunterzuladen:

Entpacke anschließend die ZIP-Datei, um deren Inhalt zu extrahieren. Du solltest folgende Dateien im entpackten Ordner sehen:

Wir müssen den Inhalt des „lib“-Ordners in den „libraries“-Ordner der Arduino IDE kopieren. Unter Windows befindet sich der „libraries“-Ordner typischerweise unter:
C:\Users\<username>\OneDrive\Documents\Arduino\libraries
Da dieser Ordner bereits installierte Bibliotheken enthält, empfehle ich, ihn vorübergehend umzubenennen, z.B. in „_libraries“, und einen neuen Ordner namens „libraries“ zu erstellen. So vermeidest du Konflikte mit bereits installierten Bibliotheken und verlierst sie nicht. Das Bild unten zeigt, wie dein „Arduino“-Ordner aussehen sollte:

Als nächstes kopieren wir die Dateien aus dem „lib“-Ordner (vom Lilygo GitHub-Repo) in den neuen „libraries“-Ordner.

Damit ist die Installation der benötigten Bibliotheken (lvgl, XPowersLib) abgeschlossen.
Flip-Uhr-Code herunterladen
Den Originalcode für die Flip-Uhr findest du im Lilygo GitHub-Repo unter T-Display-S3-Long/examples/factory, aber Stand Sep 2025 lässt er sich nicht kompilieren. Er ist außerdem zu komplex. Ich habe die Fehler behoben, ihn vereinfacht und eine neue Version erstellt, die du hier herunterladen kannst: flip-clock.zip.
Entpacke die Datei, dann solltest du einen Ordner namens „flip_clock“ mit folgendem Inhalt haben:

Doppelklicke auf „flip_clock.ino“, um das Projekt in deiner Arduino IDE zu öffnen.
Code auf T-Display S3 Long hochladen
Bevor du den Flip-Uhr-Code auf das T-Display S3 Long hochlädst, solltest du einige Konstanten im Code setzen. Öffne die pins_config.h Datei, dort kannst du dein WI-FI SSID und PASSWORD, die BL_BRIGHTNESS des Displays und die TIMEZONE einstellen:

Die oben gezeigte TIMEZONE ist für Berlin in Deutschland. Für andere Zeitzonen schaue im Posix Timezones Database nach. Kopiere einfach den dort gefundenen String und ändere die TIMEZONE Konstante entsprechend. Der Flip-Uhr-Code holt die aktuelle Zeit von einem Internet-Zeitserver und ist daher immer genau, benötigt aber Wi-Fi-Zugang.
Wähle als Board „ESP32S3 Dev Module“ und stelle im „Tools“-Menü folgende Parameter ein:

Am wichtigsten sind Flash Size, Partition Scheme und PSRAM. Die anderen Parameter sollten Standardwerte sein, aber überprüfe sie besser. Die obigen Einstellungen haben bei mir funktioniert. Beachte, dass das Board USB als JTAG-Upload-Port verwendet. Für die Ausgabe der seriellen Port-Informationen muss die USB_CDC_ON_BOOT-Konfiguration aktiviert sein.
Jetzt kannst du den Code auf dein T-Display S3 Long hochladen und hoffentlich eine großartig aussehende Flip-Uhr genießen! Falls nicht, lies den folgenden Abschnitt.
Kann nicht auf T-Display S3 Long hochladen
Wenn etwas mit dem Code oder den Bibliotheken nicht stimmt, gerät das T-Display S3 Long oft in eine Crash-Schleife, und es wird schwierig, neuen Code hochzuladen. Im Internet gibt es viele Vorschläge, wie man das umgehen kann, aber keiner hat bei mir zuverlässig funktioniert. Folgende Reihenfolge hat bei mir geholfen:
- Ziehe das USB-Kabel vom Computer ab
- Drücke und halte den „Reset„-Button des T-Display S3 Long
- Stecke das USB-Kabel wieder ein
- Lasse den „Reset„-Button los
Beachte, dass der „Reset“-Button der rechte Knopf (von der Rückseite des Boards aus gesehen) ist:

Andere Vorschläge wie „Boot drücken“ oder „Boot drücken, halten, Reset drücken, Reset loslassen, Boot loslassen“ haben bei mir nicht funktioniert.
Modifikationen am Flip-Uhr-Code
Der Original-Demo-Code für das T-Display S3 Long funktioniert für einige Beispiele, aber Stand Sep 2025 nicht für die Flip-Uhr, die ja jeder will ; )
Außerdem ist der Original-Flip-Uhr-Code recht komplex und erzeugt vier Seiten (Uhr, Lilygo-Logo, Geräteinfo, QR-Codes). Ich habe das auf zwei Seiten reduziert, die nur die Uhr und die Geräteinfo anzeigen:

Wie im Originalcode kannst du zwischen den Seiten durch vertikales Wischen über den Touchscreen wechseln.
Ich habe den Originalcode auch stark vereinfacht, aber es bleibt noch Arbeit, um ihn wirklich sauber zu machen. Die neue Version sollte jedoch einfach genug sein, um sie zu ändern oder eigene Funktionen hinzuzufügen.
Fazit
In diesem Tutorial hast du gelernt, wie man eine Flip-Uhr auf dem LILYGO T-Display S3 Long Modul betreibt.
Mit dem vereinfachten Flip-Uhr-Code hast du eine gute Grundlage, um eigene Funktionen hinzuzufügen, z.B. eine Kalenderanzeige auf einer zweiten Seite, automatische Helligkeitsanpassung des Displays je nach Umgebungslicht gemessen mit einem LDR, einen PIR-Sensor, der das Display nur bei Bewegung aktiviert, und einen Deep-Sleep-Modus zur Schonung der Batterie.
Beachte, dass das T-Display S3 Long den AXS15231B Display-Treiber verwendet, der derzeit nicht vom TFT_eSPI library unterstützt wird. Du musst die LVGL Bibliothek verwenden, die leistungsfähiger, aber auch komplexer ist. Sie ermöglicht es dir jedoch, wirklich ansprechende Benutzeroberflächen mit SquareLine Studio zu gestalten.
Falls du generell an ESP32-basierten Uhren interessiert bist, schau dir die folgenden Tutorials an:
- Digital Clock on CrowPanel 1.28″ Round Display
- Digital Clock on e-Paper Display
- How to synchronize ESP32 clock with SNTP server
- LED Ring Clock with WS2812
- Digital Clock with CrowPanel 3.5″ ESP32 Display
- Analog Clock on e-Paper Display
Wenn du Fragen hast, kannst du sie gerne im Kommentarbereich stellen.
Viel Spaß beim Tüfteln 😉

