Ulanzi TC001 Smart Pixel Clock

Last Updated on 17. Oktober 2026 by sfambachLink-Status: OK

Die Ulanzi TC001 Smart Pixel Clock ist eine kleine Tischuhr mit einer Matrix aus 8 × 32 farbigen LEDs, gebaut vom chinesischen Zubehörhersteller Ulanzi. Im Inneren arbeitet ein gewöhnlicher ESP32 mit USB-Seriell-Wandler, dazu kommen Akku, Summer, drei Tasten, Echtzeituhr sowie Sensoren für Licht, Temperatur und Luftfeuchte. Ab Werk zeigt sie Uhrzeit, Datum, Follower-Zahlen und einen Pomodoro-Timer. Interessant wird sie durch freie Firmware wie AWTRIX, ESPHome oder eigenen Code: Dann wird sie zur Anzeige für Home Assistant, Benachrichtigungen oder beliebige Daten aus dem Netz. Weil sich der ESP32 einfach über USB-C flashen lässt, ist sie auch ein fertiges Gehäuse mit Display für eigene ESP32-Projekte.

Die Uhr habe ich zu meinem 50. Geburtstag geschenkt bekommen. Vielen Dank an dieser Stelle an Familie Gärtner!

Ansichten

Verpackung

Fakten

Kompatibilität
BezeichnungUlanzi TC001 Smart Pixel Clock
BeschreibungPixeluhr mit 8 × 32 RGB-LEDs (WS2812B-Mini) im Gehäuse, technisch ein ESP32-Board mit Akku, Summer, drei Tasten, Echtzeituhr sowie Licht-, Temperatur- und Feuchtesensor. Über USB-C frei flashbar (AWTRIX, ESPHome, eigene Firmware). Akku 4400 mAh, bis ca. 5 h. Preis: ca. 46 USD (ulanzi.com, 10/2026), ca. 41 € (ulanzi.de, 06/2026). Lizenz: Hardware und Werksfirmware nicht offen.
Titelbild
Bilder
Quellen
Herkunft
HerkunftshinweisBeitrag Ulanzi TC001 (fambach.net, 10/2026); Pinbelegung aus der Community-Dokumentation (AWTRIX/Blueforcer), eigene Sicherung des Flash (4 MB)
Bauform
HerstellerUlanzi
Serie
Teilenummer
EinsatzAnzeige für Home Assistant (Benachrichtigungen), Uhr, fertiges Gehäuse für eigene ESP32-Projekte
TypPixeluhr / ESP32-Board im Gehäuse
Betriebsspannung
Eingangsspannung5 V (USB-C)
Stromaufnahme
Abmessungen200,6 x 70,3 x 31,9 mm
Gewicht283 g
Schnittstellen
ProzessorESP32-D0WD (ESP32-WROOM-32D)
Takt240 MHz
Kerne2
Digitale Pins
Analoge Eingänge
Interrupt-Pins
PWM-Pins
SPI
UART
I²C1 (GPIO21 SDA, GPIO22 SCL)
Flash4 MB (je nach Gerät auch 8 MB)
SRAM
EEPROM
WLAN2,4 GHz 802.11 b/g/n
Bluetooth4.2 / BLE
Ethernet
Video
AudioSummer (GPIO15)
USBUSB-C mit CH340 (Laden und Flashen)
Weitere BausteineAkku 4400 mAh, Spannung an GPIO34

Alternative Bezeichnungen

BezeichnungBeziehungHinweis

Pinbelegung

PinSignalFarbe

Ulanzi TC001 – ProduktseiteLink-Status: Unbekannt · AWTRIX NG – GitHubLink-Status: OK · TC001 – Hardware-DokuLink-Status: OK

Was man damit machen kann

  • Original-Firmware: Uhr, Datum, Follower-Zähler (YouTube, Bilibili, Weibo), Pomodoro-Timer, Laufschrift; Steuerung per Ulanzi-App. Enthält zusätzlich einen AWTRIX-2-Simulator für einen AWTRIX-Host.
  • AWTRIX 3: die bekannteste freie Firmware. Kein Cloud-Zwang, Steuerung per MQTT und HTTP, Home-Assistant-Discovery, Benachrichtigungen, eigene „Apps“ (Anzeigeseiten), animierte Icons, Melodien (RTTTL), Einstellungen am Gerät. Die Entwicklung ist beendet, das Repo archiviert.
  • AWTRIX NG: Nachfolger von AWTRIX 3, neu geschrieben. Skripte in Berry laufen direkt auf der Uhr (Daten aus dem Netz holen, MQTT, Modbus), Effekte, Diagramme, Art-Net, Installation im Browser. Läuft auf TC001, TC002 und Eigenbauten mit ESP32/ESP32-S3.
  • ESPHome (EspHoMaTriX v2): Uhr als ESPHome-Gerät direkt in Home Assistant; Lichtsensor und Akku werden laut Projekt nur eingeschränkt unterstützt.
  • Eigene Firmware: Arduino IDE, PlatformIO oder ESP-IDF; die Pinbelegung ist von der Community dokumentiert. Damit wird die Uhr zum fertigen ESP32-Gehäuse mit LED-Matrix, Akku und Tasten.
  • WLED: ein fertiges WLED-Image speziell für die TC001 habe ich nicht gefunden; Umweg: WLED sendet per Art-Net/DMX an AWTRIX.
  • Wichtig vorher: Original-Firmware mit esptool sichern (gesamter Flash, 4 oder 8 MB), sonst gibt es keinen Weg zurück außer dem Update-Paket von Ulanzi.

Inbetriebnahme

Ulanzi empfiehlt, die Uhr nach dem Auspacken 3 bis 5 Stunden mit einem 5-V/2-A-Netzteil zu laden; Ladezeit etwa 3 Stunden, Akkulaufzeit etwa 5 Stunden.

Tasten und Anschlüsse

  • Oben: Lichtsensor sowie die Tasten „Left“, „OK“ und „Right“
  • Hinten bzw. unten: Summer, Kontroll-LED, USB-C-Ladebuchse und ein Reset-Loch
  • Ein/Aus: „Left“ und „Right“ zusammen 3 Sekunden gedrückt halten
  • Reset: mit einer Büroklammer in das Reset-Loch drücken und halten, bis die Anzeige neu startet

Original-Firmware

Ab Werk läuft die Firmware von Ulanzi (getestet: Version 1.7.1). Für die Einrichtung reicht laut Ulanzi ein Handy; eingerichtet wird sie über einen eigenen Hotspot, bedient über eine Weboberfläche und die drei Tasten.

Ins WLAN einbinden

  1. Uhr einschalten: „Left“ und „Right“ gleichzeitig gedrückt halten. Ohne WLAN-Verbindung startet die Uhr einen eigenen Access Point und zeigt im Wechsel „WiFi“, den Namen des Hotspots „U-CLOCK“ und die IP-Adresse „192.168.4.1“.
  2. Am Handy oder PC die WLAN-Einstellungen öffnen und mit dem Netz „U-CLOCK“ verbinden. Ein Passwort ist nicht nötig. Bei mir klappte das mit dem Handy nicht, mit dem PC auf Anhieb. Mögliche Ursache: Handys verlassen ein WLAN ohne Internet gern wieder und wechseln auf mobile Daten; dann hilft es, die mobilen Daten kurz auszuschalten (nicht geprüft). Vielleicht lag es auch am Firefox auf dem Handy.
  3. Das Handy öffnet meist von selbst die Einrichtungsseite „Ulanzi“. Falls nicht, im Browser http://192.168.4.1 aufrufen.
  4. Das eigene WLAN aus der Liste wählen (oder die SSID eintippen), das Passwort eingeben und „Save“ drücken. Die Uhr unterstützt nur 2,4-GHz-Netze. Die Seite meldet dann „Wi-Fi data saved. Connecting clock to internet…“ und verweist auf http://clock.local.
  5. Bei Erfolg zeigt die Uhr „WiFi ✓“. Danach zeigt sie ihre neue IP-Adresse aus dem eigenen Netz an.
  6. Das Handy wieder mit dem Heimnetz verbinden und die angezeigte IP-Adresse im Browser öffnen (oder http://clock.local). Dort liegen alle Einstellungen.
Einrichtungsseite der Ulanzi TC001: Wi-Fi data saved, Connecting clock to internet
Einrichtungsseite der Ulanzi TC001: Wi-Fi data saved, Connecting clock to internet

Wichtig: Nach jeder Änderung auf der Einstellungsseite „Save“ drücken, sonst wird sie nicht übernommen. Wer unter „Basic Setting“ die Anzeige der IP-Adresse abschaltet, sollte sich die Adresse vorher notieren; sonst hilft nur ein Reset.

Allgemeine Einstellungen

EinstellungWerte
SpracheChinesisch / Englisch
Helligkeitmanuell oder automatisch über den Lichtsensor, 0–100 % in 10er-Schritten
Helligkeit nachts0–100 %, mit Nachtmodus und einstellbarer Start- und Endzeit
Seitenwechselnie oder alle 10–60 Sekunden
Laufschrift-TempoStufe einstellbar (Scroll Speed, nicht im Handbuch)
Zeitzoneautomatisch (über worldtimeapi.org) oder GMT−12 bis GMT+12
Zeit-/DatumsformatHH:mm oder HH:mm:ss, MM/DD oder DD/MM
WochentagAnzeige ja/nein, Wochenbeginn Sonntag oder Montag
Allgemeine Einstellungen der Werksfirmware (laut Handbuch)
Einstellungsseite der Ulanzi TC001 im Browser: General Setting
Einstellungsseite der Ulanzi TC001 im Browser: General Setting
Pixelanzeige der Werksfirmware: Uhrzeit 22:26:33
Bei mir zeigte die Uhr anfangs 22:26 statt 16:26, also sechs Stunden vor, vermutlich chinesische Zeit (UTC+8). Zeitzone unter „Allgemeine Einstellungen“ prüfen.

Anzeigen auswählen

Unter „Common Setting“ (Button „Next“, im Handbuch „Basic Setting“) wird jede Anzeige einzeln ein- oder ausgeschaltet; das Zahnrad öffnet ihre Zusatzeinstellungen:

AnzeigeFunktion / Bedienung
Uhrzeit, DatumWechselanzeige, Punktlinie unten zeigt den Wochentag
WetterTemperatur, Luftfeuchte, Luftdruck, Luftqualität; braucht den Stadtcode des chinesischen Wetterdienstes weather.com.cn
InnentemperaturTemperatur und Luftfeuchte vom eingebauten Sensor
FollowerBilibili, Weibo, YouTube (mit eigenem API-Key aus der Google Cloud) und TikTok/Douyin; jeweils die eigene User-ID eintragen
Spielstand„Left“ Rot +1, „Right“ Blau +1, doppelt drücken −1, „OK“ setzt zurück
Stoppuhr„OK“ Start/Stopp, „OK“ halten setzt zurück
Pomodoro„OK“ startet 25 Minuten Arbeit, dann 5 Minuten Pause
Akkugrün 100–70 %, gelb (3 Felder) 75–50 %, gelb (2 Felder) 50–25 %, rot unter 29 %
Matrix-Effektnur Optik
AWTRIX-SimulatorSteuerung über einen AWTRIX-Host, laut Ulanzi nur für Bastler
Lokale IPzeigt die IP-Adresse an
Anzeigen der Werksfirmware (laut Handbuch)
Einstellungsseite der Ulanzi TC001 im Browser: Common Setting (Anzeigen ein- und ausschalten)
Einstellungsseite der Ulanzi TC001 im Browser: Common Setting (Anzeigen ein- und ausschalten)

Bedienung am Gerät: Mit „Left“/„Right“ durch die Anzeigen blättern, „OK“ öffnet eine Anzeige (ein Piepton), „OK“ lange drücken verlässt sie wieder (zwei Pieptöne). Der Summer lässt sich nicht abschalten.

Firmware-Update über den Browser

Auf der Einstellungsseite unten „About“ antippen. Dort stehen MAC-Adresse und Firmware-Version; „Update“ öffnet eine ElegantOTA-Seite, auf der eine .bin-Datei hochgeladen wird. Ulanzi warnt selbst, dass das riskant ist. Vorher also die Sicherung aus dem Abschnitt „Firmware“ anlegen.

Offizielle Firmware von Ulanzi

Ulanzi bietet die Werksfirmware auf der Produktseite zum Download an: UCLOCK 1.7.1 (Firmware-Update-Paket)Link-Status: OK, SHA-256 302b59c7c7d214cae65044b2f3cdc79dab2378637c3386ff4bb5603698eda671. Die Datei enthält nur die Anwendung, ohne Bootloader und Partitionstabelle. Solange diese noch original sind, sollte das Zurückflashen auf 0x10000 klappen (noch ungetestet):

esptool --port /dev/ttyUSB0 --baud 921600 write-flash 0x10000 UCLOCK_0107013834aa_1.7.1.bin

Die Datei lege ich bewusst nicht ins Repo: Sie enthält Ulanzis eigenen Code, und keine Lizenz erlaubt die Weitergabe. Stattdessen stehen Link und Prüfsumme im Repo.

Was in der Werksfirmware steckt

Ein Blick in die Klartexte der Firmware 1.7.1 (nur strings, keine Disassemblierung) zeigt:

  • Basis: Arduino-ESP32-Core 1.0.x auf ESP-IDF 3.3.5, gebaut mit PlatformIO
  • Grafik: eigene Engine „Dot2D 0.1.0“ im Stil von Cocos2d, öffentlich nicht auffindbar; LEDs über den RMT-Treiber des ESP32, eine bekannte Pixel-Bibliothek (FastLED, NeoPixel) ist nicht erkennbar
  • WLAN-Einrichtung mit WiFiManager, Update-Seite mit ElegantOTA, dazu WebServer, lwIP, mbedTLS und FreeRTOS
  • Datenquellen: Bilibili, YouTube, Weibo, Douyin und weather.com.cn, dazu ein AWTRIX-Simulator
  • Keine Lizenz- oder Copyright-Texte im Binary

Eine Pflicht, den eigenen Code offenzulegen, ergibt sich daraus nicht: Der Arduino-Core steht unter LGPL-2.1, die nur einen Hinweis und die Austauschbarkeit des Cores verlangt; der Rest (MIT, BSD, Apache) erlaubt geschlossene Software. Ein fehlender LGPL-Hinweis wäre ein Versäumnis des Herstellers. Das ist meine Einschätzung, keine Rechtsberatung.

Firmware sichern und wechseln

Alle Tests liegen im Repo sfambach/ulanzi_pixel_clockLink-Status: OK, ein Ordner pro Test (Sicherung, eigene Firmware, AWTRIX NG, ESPHome).

Original-Firmware sichern

Vor jedem Flashen den kompletten Flash sichern (je nach Gerät 4 oder 8 MB; meine Uhr hat 4 MB, andere Quellen nennen 8 MB), darin stehen auch die eigenen Einstellungen. Unter Linux Mint/Debian nicht das esptool aus den Paketquellen nehmen: Dem Paket fehlt der „Stub-Flasher“, flash-id bricht mit FileNotFoundError … stub_flasher_32.json ab (getestet mit esptool 4.7.0 aus apt). Besser per pipx installieren; zur Not hilft bei der apt-Version der Schalter --no-stub, dann ist das Lesen aber deutlich langsamer. Taucht nach dem Einstecken kein /dev/ttyUSB0 auf, belegt unter Mint/Ubuntu oft das Paket brltty den CH340-Chip; sudo apt remove brltty hilft. Die Sicherung enthält auch das gespeicherte WLAN-Passwort, gehört also nicht ins Netz. Während die Uhr im Download-Modus hängt, pfeift der Summer, weil sein Pin (GPIO15) offen ist. Das ist harmlos. Ab- und Anstecken hilft wegen des Akkus nicht; Ruhe ist nach einem Druck mit der Büroklammer ins Reset-Loch auf der Rückseite oder nach einem erfolgreichen esptool-Befehl (z. B. chip_id), der die Uhr am Ende neu startet.

sudo apt install pipx
pipx install esptool
pipx ensurepath                  # danach neues Terminal
sudo usermod -aG dialout $USER   # danach neu anmelden
esptool --port /dev/ttyUSB0 flash-id
esptool --port /dev/ttyUSB0 --baud 921600 read-flash 0 ALL tc001-original.bin

Bei meiner Uhr meldet flash-id einen ESP32-D0WD (Revision 1.1) mit 4 MB Flash. Das Sichern dauert etwa eine Minute: „Read 4194304 bytes from 0x00000000 in 52.4 seconds (640.7 kbit/s)“. Danach startet esptool die Uhr über den RTS-Pin automatisch neu. Zum Schluss mit sha256sum tc001-original.bin eine Prüfsumme bilden und notieren; damit lassen sich die Kopien später prüfen. Sie gilt nur für die eigene Sicherung, weil darin auch die eigenen Einstellungen stecken.

Sicherung der Ulanzi TC001 mit esptool: 4 MB in 52 Sekunden (MAC-Adresse unkenntlich gemacht)
Sicherung der Ulanzi TC001 mit esptool: 4 MB in 52 Sekunden (MAC-Adresse unkenntlich gemacht)

Zurückspielen:

esptool --port /dev/ttyUSB0 --baud 921600 write-flash 0x0 tc001-original.bin

Bibliotheken der Alternativen

  • AWTRIX 3: FastLED, FastLED NeoMatrix, PubSubClient (MQTT), ArduinoJson, EasyButton, Adafruit SHT31/BME280/BMP280/HTU21DF, base64, MeanFilterLib, EspSoftwareSerial
  • AWTRIX NG: FastLED 3.10, die gleichen Adafruit-Sensorbibliotheken, base64 und die Skriptsprache Berry
  • EspHoMaTriX v2: baut auf den Display- und LED-Komponenten von ESPHome auf

AWTRIX NG

AWTRIX NG ist der Nachfolger von AWTRIX 3: keine Cloud, Steuerung per HTTP und MQTT, Home-Assistant-Anbindung und eigene Skript-Apps, die direkt auf der Uhr laufen.

Installation

Für den Wechsel auf AWTRIX NG gibt es zwei Wege. Vorher die Sicherung oben anlegen; „Fresh install“ bzw. das Schreiben ab Adresse 0 ersetzt die Werksfirmware vollständig.

Option 1: Web-Flasher im Browser

  1. Uhr mit einem USB-Datenkabel anschließen (reine Ladekabel tauchen nicht als serieller Port auf).
  2. Die Installationsseite von AWTRIX NGLink-Status: OK öffnen. Der Flasher braucht Web-Serial; bei mir lief sie in Firefox unter Linux ohne Probleme. Auch hier piept der Summer während des Flashens, das ist normal.
  3. „Fresh install“ wählen (löscht Einstellungen und WLAN), den Port /dev/ttyUSB0 auswählen und warten, bis „Done“ erscheint. „Update AWTRIX NG“ ist nur für Uhren, auf denen AWTRIX NG schon läuft.

Option 2: Image herunterladen und mit esptool flashen

Ohne Web-Serial geht es mit esptool. Das Release-Paket enthält fertige Images für verschiedene Flash-Größen; für die TC001 mit 4 MB passt usb-awtrix-ng-4mb.bin. Es ist ein komplettes Image und wird ab Adresse 0 geschrieben.

wget https://github.com/Blueforcer/awtrix-ng/releases/latest/download/usb-awtrix-ng.zip
unzip usb-awtrix-ng.zip usb-awtrix-ng-4mb.bin
esptool --chip esp32 --port /dev/ttyUSB0 --baud 460800 write-flash 0x0 usb-awtrix-ng-4mb.bin

Wichtig: mit 460800 Baud schreiben. Laut AWTRIX-Doku bricht das Schreiben auf der TC001 mit 921600 Baud mittendrin ab, danach startet die Uhr nicht mehr. Am Ende muss „Hash of data verified.“ stehen.

Erster Start

  1. Nach dem Flashen startet die Uhr neu, leuchtet im Einrichtungsmodus bunt und öffnet den Hotspot awtrixng-xxxxxx (ohne Passwort; die Endung stammt aus der MAC-Adresse).
  2. Mit dem PC in diesen Hotspot wechseln und http://192.168.4.1 im Browser öffnen. Oben steht „Setup mode: connect the clock to your Wi-Fi below.“
  3. Unter „Wi-Fi“ auf „Scan“ drücken, das eigene WLAN aus der Liste wählen (oder den Namen eintippen) und das Passwort eintragen. Optional einen Hostnamen vergeben, sonst wählt die Uhr einen automatisch.
  4. Unten „Save“ drücken, dann unter „Maintenance“ auf „Reboot“.
  5. Die Uhr verbindet sich mit dem WLAN und zeigt nach jedem Einschalten, direkt nach der Startanimation, für wenige Sekunden ihre IP-Adresse. Wer sie verpasst hat, zieht den Stecker kurz ab, öffnet http://<hostname>.local (ohne eigenen Namen awtrixng-xxxxxx.local; unter Linux nur mit avahi-daemon) oder schaut in der Geräteliste des Routers nach. Bei mir bekam die Uhr dieselbe IP wie mit der Werksfirmware, weil der Router sie an der unveränderten MAC-Adresse wiedererkennt; auch http://clock.local funktionierte. Steht stattdessen „AP MODE“ auf der Anzeige, hat die Verbindung nicht geklappt (falsches Passwort oder nur 5 GHz).
Pixelanzeige: AP MODE in bunten Buchstaben
AWTRIX NG im Einrichtungsmodus
Einrichtungsseite von AWTRIX NG im Hotspot-Modus mit den Bereichen Wi-Fi, Maintenance und Restore
AWTRIX NG: Einrichtungsseite unter 192.168.4.1 (MAC-Adresse unkenntlich gemacht)

Anzeigen und Webinterface

Ab Werk (getestet mit AWTRIX NG 1.2.2) wechseln sich fünf Anzeigen ab: Uhrzeit mit Kalendersymbol und Wochentagsleiste, Datum, Temperatur, Luftfeuchte und Akkustand. Die Temperatur von 32 °C ist vermutlich zu hoch, weil der Sensor im Gehäuse neben ESP32 und Akku sitzt (meine Vermutung, nicht nachgemessen); AWTRIX NG kann dafür einen Korrekturwert tempOffset setzen.

Das Webinterface unter http://clock.local zeigt auf dem „Dashboard“ eine Live-Vorschau der Anzeige, Schalter für Helligkeit, automatische Helligkeit und Ein/Aus, Tasten zum Blättern durch die Apps sowie Akku (Prozent und Spannung), WLAN-Empfang, Lichtsensor, Temperatur, Luftfeuchte und Bildrate. Weitere Reiter: Apps, Scripts, Icons, Icon Editor, Audio, Palettes, Display, System und Log.

Webinterface von AWTRIX NG: Dashboard mit Live-Vorschau der Uhr und Sensorwerten
AWTRIX NG: Dashboard (IP- und MAC-Adresse unkenntlich gemacht)

Icons und Icon-Editor

Ein Highlight ist der Reiter „Icon Editor“ im Webinterface. Er basiert auf dem freien Pixel-Editor Piskel und zeichnet Icons und Animationen in 8 × 8, 32 × 8 oder in voller Breite. Mit dem Schalter „Live“ erscheint das gerade gezeichnete Bild sofort auf der Uhr, Animationen laufen mit. Gespeichert wird als GIF im Ordner /ICONS der Uhr; danach kann jede App und jede Benachrichtigung das Icon über seinen Namen nutzen ("icon":"sonne"). Fertige Icons gibt es zu Tausenden im AWTRIX Hub, eigene lassen sich dort veröffentlichen. Im Reiter „Icons“ kann man außerdem GIF, PNG oder JPG hochladen; PNG und JPG wandelt die Uhr selbst in GIF um.

Töne

Der Summer der TC001 spielt Melodien im RTTTL-Format, dem Klingelton-Format alter Handys. Eigene Melodien lassen sich im Reiter „Audio“ ablegen; eine Benachrichtigung kann einen Ton mitbringen, die Lautstärke wird im gleichen Reiter eingestellt. MP3 und Sprache kann die TC001 nicht, das geht nur mit ESP32-S3 bzw. TC002.

curl -X POST http://clock.local/api/v1/audio/play -H 'Content-Type: application/json' -d '{"rtttl":"beep:d=4,o=5,b=120:c,e,g"}'
curl -X POST http://clock.local/api/v1/notifications -H 'Content-Type: application/json' -d '{"text":"Post ist da","icon":"sonne","sound":{"rtttl":"bell:d=4,o=5,b=100:e,c"}}'

Ein eigenes Icon habe ich mit dem Editor noch nicht entworfen.

Laufschrift

Ein Textfeld dafür hat das Webinterface nicht; Text kommt über die HTTP-API. Passt er nicht auf die Anzeige, läuft er von selbst durch. Eine Benachrichtigung erscheint einmal (repeat = Anzahl der Durchläufe), eine „pushed App“ bleibt bis zum nächsten Neustart in der Rotation. Tempo und Art lassen sich pro Text mit scroll festlegen: speed in Prozent der Grundgeschwindigkeit von 21 Pixel pro Sekunde (bis etwa 200 bleibt die Schrift scharf), mode wrap, loop, bounce oder static. Ohne scroll gilt der Wert aus den Einstellungen. Bei mir lief die Laufschrift auf Anhieb.

curl -X POST http://clock.local/api/v1/notifications -H 'Content-Type: application/json' -d '{"text":"Hallo von fambach.net","repeat":2}'
curl -X PUT http://clock.local/api/v1/apps/pushed/laufschrift -H 'Content-Type: application/json' -d '{"text":"Hallo von fambach.net","textColor":"#00AAFF"}'
curl -X PUT http://clock.local/api/v1/apps/pushed/laufschrift -H 'Content-Type: application/json' -d '{"text":"Hallo von fambach.net","scroll":{"mode":"loop","speed":50}}'

Weitere Funktionen

  • AWTRIX Hub (awtrix.deLink-Status: OK): Hunderte fertige Skript-Apps (Spiele, Uhren, Live-Daten, Animationen), Flows für Home Assistant, Node-RED und andere sowie Tausende Icons; „Send to AWTRIX“ installiert direkt auf der Uhr
  • Effekte: animierte Hintergründe, Regen und Schnee als Überlagerung, Wetter über allen Apps, Übergänge zwischen Apps
  • Eigene Apps: Skripte in Berry im Reiter „Scripts“
  • App per KI: Ein System-Prompt bzw. Agent-Skill aus der Doku bringt einem Chatbot die Skript-API bei; man beschreibt die App, die KI schreibt das Skript
  • Spiegeln: mehrere Uhren zeigen dasselbe Bild
  • Art-Net: Der PC setzt jede LED in Echtzeit
  • Smart Home: Home Assistant (Discovery), MQTT, Modbus
  • Handy-App „AWTRIX NG“: findet die Uhr, zeigt eine Live-Vorschau und den Hub
  • Nicht auf der TC001: Internetradio, Gamepad und Sprachsteuerung (nur TC002 bzw. ESP32-S3)

Home Assistant und MQTT

Richtig sinnvoll wird die Uhr mit Home Assistant: Sie zeigt Ereignisse aus dem Haus an, zum Beispiel „Post ist da“, wenn ein Sensor am Briefkasten auslöst, oder „Wäsche fertig“, wenn die Waschmaschine laut Steckdose keinen Strom mehr zieht. AWTRIX NG spricht dafür nicht direkt mit Home Assistant, sondern über einen MQTT-Broker (z. B. Mosquitto).

Einrichten (braucht Home Assistant ab 2024.11 und die MQTT-Integration):

  1. Im Webinterface Reiter „System“, Bereich „MQTT“: „Enable MQTT“ einschalten, Adresse und Port des Brokers eintragen, bei Bedarf Benutzer und Passwort.
  2. „HA discovery“ einschalten, „HA prefix“ leer lassen.
  3. Speichern und „Reboot now“; die Broker-Daten liest die Uhr nur beim Start.
  4. Die Uhr erscheint in Home Assistant als Gerät mit Anzeige (Licht), Helligkeit, Lautstärke, Tasten und Sensoren (Akku, Licht, Temperatur, Luftfeuchte, die drei Tasten).

Nachrichten schicken: Eine eigene Benachrichtigungs-Entität gibt es nicht. Stattdessen veröffentlicht eine Automation per mqtt.publish auf das Thema <Präfix>/cmd/notify, mit demselben JSON wie bei der HTTP-API. Der Standard-Präfix ist awtrixNG. Beispiel für den Briefkasten (Name des Sensors anpassen):

automation:
  - alias: Post im Briefkasten
    triggers:
      - trigger: state
        entity_id: binary_sensor.briefkasten
        to: "on"
    actions:
      - action: mqtt.publish
        data:
          topic: "awtrixNG/cmd/notify"
          payload: '{"text":"Post ist da","icon":"brief","hold":true,"sound":{"rtttl":"bell:d=4,o=5,b=100:e,c"}}'

Mit "hold":true bleibt die Meldung stehen, bis man sie an der Uhr mit der mittleren Taste wegdrückt; ohne verschwindet sie nach 7 Sekunden (durationMs ändert das). Das Icon brief muss vorher im Icon-Editor gezeichnet oder aus dem Hub geholt werden. Für die Waschmaschine reicht ein Auslöser „Leistung der Steckdose länger als 2 Minuten unter 5 W“ und dieselbe Aktion mit „Wäsche fertig“. Ohne MQTT geht es auch per rest_command an http://clock.local/api/v1/notifications; im AWTRIX Hub gibt es außerdem fertige Blueprints.

An meinem Home Assistant habe ich die Benachrichtigungen noch nicht getestet; die Beispiele folgen der Dokumentation von AWTRIX NG.

Eigene Firmware

Für den Einstieg liegt im Repo ein kleines PlatformIO-Projekt (01_playgroundLink-Status: OK) mit FastLED, FastLED NeoMatrix und Adafruit GFX: Lauftext, Regenbogen und Rohwerte von Licht- und Akkusensor; die Tasten regeln Helligkeit und Modus. Auf der Uhr selbst habe ich es noch nicht getestet.

ESPHome

Noch nicht getestet. Geplant ist ESPHome mit EspHoMaTriX v2.

Weitere Firmwares (nicht getestet)

Kandidaten für spätere Tests; ausprobiert habe ich sie noch nicht.

  • AWTRIX 3: Vorgänger von AWTRIX NG, weit verbreitet, viele Anleitungen und Home-Assistant-Beispiele. Die Entwicklung ist beendet, das Repo archiviert. Lizenz CC BY-NC-SA 4.0.
  • PixelIt: freie Pixel-Firmware mit eigenem Build für die Ulanzi (ESP32_ulanzi), Steuerung per MQTT, HTTP und Node-RED. Lizenz MIT.
  • WLED: bekannte LED-Firmware; ein fertiges Image speziell für die TC001 habe ich nicht gefunden.

Alternativen

Pixeluhren mit Laufschrift gibt es von mehreren Herstellern. Die Preise sind Momentaufnahmen aus Shops und schwanken stark mit Aktionen.

GerätPixelFirmwarePreis (Stand 10/2026)Bemerkung
Ulanzi TC001 (dieser Beitrag)32 × 8ESP32, freie Firmware (AWTRIX, ESPHome, eigene)ca. 41 € (ulanzi.deLink-Status: Unbekannt, 06/2026)Akku ca. 5 h
Ulanzi TC002 Pixbar52 × 16 (832 LEDs)freie Firmware: nicht angegebenca. 140 USD (ulanzi.comLink-Status: Unbekannt)Nachfolger mit Ladestation, Akku laut Hersteller bis 2 h bei voller Helligkeit
LaMetric Time37 × 8geschlossenes System mit App-Storeca. 180 € (MediaMarktLink-Status: OK)Plug-and-play, besserer Lautsprecher
Divoom Pixoo 64 / Times Gate64 × 64 bzw. fünf kleine DisplaysHersteller-AppSet ca. 218 € (divoom.comLink-Status: Unbekannt)eher Pixel-Art-Rahmen als Laufschrift-Uhr
Tidbyt64 × 32Hersteller-Appnicht mehr erhältlichHardware-Verkauf eingestellt (Tidbyt-ForumLink-Status: OK)
Eigenbau32 × 8 (WS2812B-Matrix)ESP32 oder D1 mini mit AWTRIX 3 oder AWTRIX NGca. 20–30 € (Schätzung)ohne Gehäuse, Akku und Sensoren; die muss man selbst ergänzen
Vergleichbare Pixeluhren

Für Home Assistant und eigene Projekte ist die TC001 wegen des offenen ESP32 die günstigste fertige Lösung. LaMetric und Divoom sind ausgereifter, binden einen aber an die App des Herstellers.

Fazit

Die TC001 ist ein wirklich nettes Gerät: hübsches Design, bunt und ein bisschen flippig. Auf dem Schreibtisch eines YouTubers macht sie mit Abonnentenzähler sicher eine gute Figur. Die Werksfirmware ist allerdings stark auf China ausgerichtet (Wetter von weather.com.cn, Bilibili, Weibo, Douyin) und bei mir hakte schon die Einrichtung des WLANs.

Ihre eigentliche Stärke spielt sie mit freier Firmware aus. Mit AWTRIX NG war sie in wenigen Minuten direkt aus dem Browser geflasht, und über Home Assistant zeigt sie Ereignisse wie Post im Briefkasten oder eine fertige Waschmaschine an. Dafür ist sie gedacht, und dafür lohnt sie sich. Weil der ESP32 über USB-C erreichbar und die Pinbelegung offen dokumentiert ist, taugt sie außerdem als fertiges Gehäuse mit LED-Matrix, Akku, Tasten und Sensoren für eigene Projekte.

Den Akku mit etwa 5 Stunden Laufzeit finde ich wenig sinnvoll. Ohne Netzteil fällt mir kaum ein Einsatz ein, höchstens als Notstrom bei einem Stromausfall. Dann fehlen aber meist auch die Signale, die die Uhr anzeigen soll, weil Router und Home Assistant ebenfalls ausfallen. Der Temperatursensor misst im Gehäuse zu hoch, lässt sich unter AWTRIX NG aber korrigieren.

Über den Wert für andere zu urteilen, fällt mir schwer. Auch wenn ich die Uhr geschenkt bekommen habe, finde ich, dass sie ihr Geld wert ist. Ich habe noch ein paar nette Ideen damit und werde sicher noch viel Spaß an ihr haben.

Lizenz

  • Lizenz Hardware: nicht offen; Pinbelegung und Bauteile von der Community dokumentiert (rroels/ulanzi_tc001_hardware)
  • Lizenz Software/Firmware: Original-Firmware (Ulanzi): keine Lizenz angegeben, Quellcode nicht veröffentlicht; AWTRIX 3 CC BY-NC-SA 4.0; PixelIt MIT; AWTRIX NG PolyForm Noncommercial 1.0.0; EspHoMaTriX v2 MIT; ESPHome GPLv3/MIT
  • Marken: Ulanzi ist eine Marke der Shenzhen Ulanzi Technology Co., Ltd.; ESP32 und ESP-IDF sind Marken von Espressif Systems; Home Assistant und ESPHome sind Marken ihrer Inhaber

Verwandte Beiträge

Quellen

Logbuch

DatumÄnderungAutor
17.10.2026Beitrag veröffentlicht, ersetzt das Preview
Offene Punkte als „noch nicht getestet“ formuliert
Fakten aus dem Taxonomy Modeller (Mikrocontroller-Boards)
Abschnitt Alternativen ergänzt
Fazit geschrieben
Dank an Familie Gärtner ergänzt
Verpackungsbilder untereinander
Ansichten: lange Bilder untereinander, Seitenansichten in eigener kleiner Galerie
Verpackungsfotos (Vorder- und Rückseite) ergänzt
sfambach
16.10.2026Galerie Ansichten: zweite Seitenansicht ergänzt
Beitrag erstellt
sfambach
Logbuch

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert