Firmware World Clock für LilyGo T-Encoder Pro mit hochauflösendem AMOLED und Drehring

Der LilyGo T-Encoder Pro ist ein ESP32-S3-Board der neuen ESP32-Familie von Espressif, das ein rundes, hochauflösendes Display (1.2-Zoll-Screen mit 390x390 Pixeln) mit Touchscreen bereits eingebaut hat. Den Touchscreen ein Drehgeber-Ring (englisch Encoder), der zur weiteren Steuerung gedreht und niedergedrückt werden kann. Die genauen Hardware-Specs und ein Review findet ihr hier.

Die eigene Weltzeituhr-Firmware

Da die verfügbaren Firmwares für den T-Encoder Pro nur Demos ohne weiteren Nutzwert waren, habe ich mich gefragt, welche Anwendung denn in meinen Augen ideal für diese Hardware wäre, die ich gebrauche könnte. Um eine eigene Firmware zu entwickeln, die auch ein bisschen Mehrwert hat.


Und bin auf eine Weltzeituhr gekommen, bei der man einen virtuellen 3D-Globus drehen kann und man dann jeweils die dort gültige Zeit sieht. Aber damit nicht genug, ich habe noch ein paar weitere Kleinigkeiten eingebaut.

Für den Normalgebrauch auf dem Schreibtisch oder in der Hand ist die Positionierung der USB-Buchse ein wenig unglücklich, weil sie sich auf der Unterseite befindet. Denn der LilyGo T-Encoder Pro ist eigentlich dafür gedacht, in Dashboards eingesetzt zu werden, zum Beispiel in ein Armaturenbrett im Auto.

Aber da ich praktischerweise über einen 3D-Drucker verfüge und mir inzwischen ein paar 3D-Design-Kenntnisse angeeignet habe, konnte ich ein paar Teile drucken, die die Bedienung doch wesentlich angenehmer machen. Die STL-Dateien und eine Montage-Anleitung findet ihr übrigens auch in dem Link, so dass ihr die Weltzeituhr auch diesbezüglich nachbauen könnt.

Die Features und die Bedienung der Weltzeituhr

Weiter unten findet ihr ein YouTube-Video verlinkt, in dem ich euch die Firmware haarklein vorführe – das dürfte alle Fragen beantworten. Falls nicht, könnt ihr einfach einen Kommentar unter das YouTube-Video posten.

Es muss sich aber niemand das YouTube-Video anschauen, der nicht möchte. Hier eine kurze Erklärung in Textform:


Beim Einschalten zeigt die Firmware zunächst ein kleines Muster (wie auf Dummy-Figuren), damit man erkennen kann, wo oben ist bzw. wie die vertikale und horizontale Linie verlaufen. Gleichzeitig wird eine kurze Einschaltmelodie abgespielt. Bereits nach etwa einer Sekunde erscheint dann das Einschaltlogo mit der Firmware-Bezeichnung und der Versionsnummer.

Tippt man hier auf den Bildschirm, folgt ein Spendenhinweis mit Anzeige eines QR-Codes. Diesen könnt ihr mit eurem Handy scannen und auf der anschließend geöffneten Webseite einen kleinen Betrag eingeben, um mir einen Kaffee oder Ähnliches zu spendieren. Die Firmware hat viel Arbeit gemacht, und ich würde mich freuen, wenn ihr euch – sofern ihr sie nutzt – ein wenig erkenntlich zeigt. Das ist allerdings kein Muss. Wer selbst kein Geld hat, muss natürlich nichts spenden.

Nach einem weiteren Tipp wird versucht, eine bereits gespeicherte WiFi-Verbindung aufzubauen. Dafür wird der WiFi-Manager verwendet. Beim allerersten Start auf einem Gerät muss man seine WLAN-Zugangsdaten in einer Webseite eingeben, die über einen Access Point bereitgestellt wird, den der ESP32S3 zur Verfügung stellt. Entsprechende Anweisungen erscheinen dann auch auf dem Bildschirm. Das Prozedere ist jedoch ganz einfach: Ich nehme mein Smartphone, öffne die WLAN-Einstellungen, suche den Access Point "TEncoderProWifiConf", verbinde mich damit, gebe das Passwort "password" ein und gelange anschließend in den Einstellungsdialog. Dort trage ich meinen WLAN-Namen (SSID) und das WLAN-Passwort ein und bestätige mit OK. Wichtig: Da der ESP32-S3 nur 2.4 GHz-Netzwerke kann, muss das angegebene Netzwerk natürlich auch auf 2.4 GHz laufen, sonst wird es nichts mit dem Verbinden. Ansonsten hat der ESP32S3 jetzt alle Daten, um sich mit dem WLAN zu verbinden. Diese werden im Flash gespeichert und sind beim nächsten Start automatisch wieder vorhanden. Diese Einstellung muss also nur einmal durchgeführt werden. Danach erfolgt die WLAN-Verbindung automatisch, und es erscheint lediglich eine kurze Erfolgsmeldung.


Anschließend startet die Anfangsanimation: Die Weltkugel dreht sich einmal um sich selbst und bleibt dann dort stehen, wo die Lokalzeit definiert wurde. Je nach Einstellung werden auf dem Globus Gitternetzlinien und Großstädte eingeblendet. Ob diese angezeigt werden sollen, kann man in den Einstellungen festlegen. Übrigens ist die gesamte Firmware auf Englisch gehalten, damit sie nicht nur von Deutschsprachigen genutzt werden kann. Außerdem können die meisten Deutschen Englisch, und es ist weltweit die am häufigsten verstandene Sprache.


In der Mitte sehen wir nun prominent die Weltkugel, am oberen Rand die Lokalzeit, am linken Rand die UTC-Zeit und am unteren Rand die Remote-Zeit. Klein oberhalb der Remote-Zeit stehen zusätzlich die Longitude (also der Längengrad) und die daraus abgeleitete UTC-Differenz. Zur Erinnerung: UTC hieß früher GMT (Greenwich Mean Time) und basiert auf dem Nullmeridian, der durch den Londoner Stadtteil Greenwich verläuft. Dort ist UTC+00.

Wenn wir jetzt den Drehring betätigen, also nach links oder rechts drehen, ändert sich auch die Ansicht des Globus. Die Erdkugel dreht sich entsprechend in die gewählte Richtung. Dadurch verändert sich der angezeigte Längengrad und damit auch die Remote-Zeit unten, die angibt, welche Uhrzeit auf dem jeweiligen Längengrad – also entlang des vertikalen gelben Strichs – herrscht.

So kann man durch alle 24 Zeitzonen bzw. Globusansichten schalten. Dabei wird jeweils um eine Zeitzone weitergeschaltet, also um 360 Grad geteilt durch 24 Zeitzonen – entsprechend 15 Grad. Diese 15° im Längengrad entsprechen auch der Gitternetzlinien horizontal, vertikal sind es jeweils 10° im Breitengrad. Auf welchem Längengrad man sich gerade befindet, erkennt man an der Remote-Time, und der darüber kleiner angezeigten UTC-Differenz und Längengrad.


Ihr habt sicher auch schon bemerkt, dass die Städte – sofern aktiviert – mitwandern. Da es relativ viele Städte gibt und es auf dem Globus eng wird, sind diese nur mit drei Buchstaben gekennzeichnet. Davor steht stets ein "+". Dieses zeigt den geografischen Ort der Stadt an. Tippt man auf den Globus, ermittelt die Firmware automatisch die Stadt, die dem Tipp am nächsten liegt, und zeigt deren Namen, Land, Einwohnerzahl, Längen- und Breitengrad, UTC-Differenz, Lokalzeit sowie die Information zur Sommerzeit an. Ein weiterer Tipp auf den Bildschirm blendet diese Anzeige wieder aus.

So kann man schnell erneut tippen, wenn man nicht gleich die gewünschte Stadt getroffen hat – was bei dem kleinen Bildschirm nicht immer einfach ist. Am besten funktioniert das Positionieren per Tipp mit Kugelschreibern, die am Ende einen schwarzen Gummiball haben und speziell für kapazitive Displays gedacht sind. Diese sind am präzisesten. Mit dem relativ großen Finger wird es dagegen oft zum Glücksfall, wenn man exakt zielen möchte.


Bleibt noch der Einstelldialog, den man durch Tipp auf das grüne Zahnrad unten links außerhalb des Globus aufrufen kann. Hier lässt sich die eigene Zeitzone in UTC-Differenz einstellen und außerdem, ob dort gerade Sommerzeit gilt (Daylight Saving Time), und ob Gitternetzlinien sowie Städte angezeigt werden sollen.

Die unteren vier Slider betreffen die Helligkeit. Der oberste regelt die generelle Helligkeit. Ich habe die Erfahrung gemacht, dass OLED-Displays bei voller Helligkeit zum Ausbrennen neigen. Ich empfehle daher, maximal etwa 200 von 250 möglichen Punkten einzustellen. Darunter folgt die Helligkeit, die verwendet wird, wenn das Display gedimmt ist. Darunter kann die Zeit eingestellt werden, nach der das Display gedimmt werden soll. Beispielsweise kann man festlegen, dass nach einer Minute nicht mehr die volle Helligkeit verwendet wird, da man die Uhr dann nicht mehr aktiv bedient, sondern nur noch die Uhrzeiten abliest, die ja besonders groß und hell sind und dann immer noch erkennbar.

Als Letztes gibt es einen Slider, mit dem festgelegt wird, wann das Display vollständig ausgeschaltet werden soll. Dann bleibt es schwarz, bis man erneut auf den Bildschirm tippt. Mit "Save and Close" werden alle Einstellungen gespeichert. Die Daten landen im Flash des Mikrocontrollers und werden beim nächsten Start der Firmware automatisch geladen. Dadurch bleiben sie dauerhaft erhalten und müssen nicht jedes Mal neu eingestellt werden.

In der Globusansicht gibt es noch eine weitere Funktion, die durch Niederdrücken des Drehgeber-Knopfes, also des gesamten Bildschirms, ausgelöst ist. Da der Knopf hardwaretechnisch nicht so schön ausgeführt ist und man den Bildschirm genau in der Mitte treffen muss, damit der Knopfdruck auch gelingt gibt es hier nur eine eher unwichtige Funktion: Die Zeit wird gleich im 8 Stunden weitergeschaltet. So kommt man schnell von Europa, nach Asien, nach Amerika und wieder zurück nach Europa. Ich persönlich mag den Button beim T-Encoder Pro aber trotzdem nicht besonders, auch weil er das einzige Bedienelement ist, bei dem meine Weltzeituhr verrutscht - ansonsten halten es die Gummifüße gut an seiner Stelle. Alle anderen Funktionen gehen federleicht und sanft.

Eine kleine Anmerkung noch: Der Drehring ist so konstruiert, dass er leider nicht immer genau in einer exakten Position einrastet, sondern manchmal auch zwischen zwei Zuständen "in der Luft" hängt. Dann gilt die Eingabe als nicht abgeschlossen und es können keine weiteren Eingaben vorgenommen werden. In dem Fall muss man den Drehring zu Ende drehen, damit die Dialogeingabe wieder funktioniert. Beim Drehen des Drehrings erfolgen bei einem vollen Schritt immer zwei Töne. Ein mittlerer und ein hoher bei einer Rechtsdrehung, ein mittlerer und ein tiefer bei einer Linksdrehung. Es ist darauf zu achten, dass immer ein voller Dreh-Schritt ausgeführt wird. Sonst gibt es Probleme mit der Eingabe.

Das war es auch schon. Insgesamt habe ich darauf geachtet, die Bedienung intuitiv zu gestaltet, so dass man mit ein bisschen Herumprobieren darauf kommt, wie was funktioniert.

Die Satellitenbilder für den Globus stammen übrigens von dem NASA Projekt Blue Marble und sind damit Public Domain. Lieben Dank und Gruß an die Jungs von der NASA.

Video

In diesem Video zeige ich euch die Firmware Doc Cool's World Clock, deren Features und wie man sie bedient:

Firmware Web-Flasher

Hier müsst ihr lediglich euer T-Encoder Pro über ein USB-Kabel mit eurem PC verbinden (darauf achten, dass das USB-Kabel auch Datenleitungen hat, ein USB-Kabel-Tester gibt Aufschluss) und einen Chromium-basierten Browser (z. B. Google Chrome, Vivaldi, Brave, Microsoft Edge, Opera) starten und auf den für eure CYD-Version richtigen Button klicken:

Die Firmware-Installation funktioniert leider nur mit Google Chrome und Chromium-basierten Browsern wie Microsoft Edge, Opera, Vivaldi oder Brave; jedoch nicht mit Firefox. Bitte benutze eine HTTPS-Verbindung, HTTP funktioniert nicht.

Nach ca. 2 Minuten ist alles installiert und euer T-Encoder Pro startet mit der neuen Firmware neu.

Weiterlesen

Falls noch nicht getan, ist es allerhöchste Zeit, sich über den T-Encoder Pro ESP32-S3 und seine Hardware-Specs in meinem Review genauer zu informieren.

Falls ihr einen 3D-Drucker habt, wird euch auch der Artikel über 3D-Druck-Teile für den T-Encoder Pro interessieren.

Dieses und andere Boards, die auf den neuen ESP-Varianten ESP-Sx, ESP-Cx, ESP-Px basieren findet ihr in dieser Auflistung gegenübergestellt.

Einen Vergleich der Eckdaten der neuen Espressif ESP-Varianten wie ESP32-S2, ESP-S3 oder ESP32-C3 und ESP32-C6 findet ihr unter diesem Link.



Quellen, Literaturverweise und weiterführende Links