TURN A ULANZI PIXEL CLOCK INTO A LIVE DASHBOARD FOR YOUR WHOLE SMART HOME

Flash open firmware onto the Ulanzi TC001 pixel clock and turn it into a local Home Assistant display, with no vendor cloud in the loop.

by Blueforcer

FULL CAD BOM FIRMWARE DOCS

DisplaysAutomation

Built withESP32

difficulty
●●○○○
time
an evening
license
CC-BY-NC-SA-4.0
repo
repo FINISHED (SUCCEEDED BY AWTRIX NG)2,359 stars
1
Jump to section

COMPAREE VERDICT

Awtrix 3 is firmware for the Ulanzi TC001, a pixel clock with a 32x8 RGB matrix (it also runs on self-built ESP32 clocks with the same pinout). You flash it from the browser, with no soldering or disassembly, and it becomes a local display for Home Assistant notifications, sensor readings, timers, weather, and custom pages, fed over MQTT or HTTP. Out of the box it already shows time, date, temperature and humidity. Going back is possible: the docs provide a dump of the original Ulanzi firmware to flash back. The single hardest part is not the flash, it is getting MQTT and Home Assistant talking if you have never done that before; if you do not run a broker yet, budget extra time to set up Mosquitto. Note that the creator ended development of Awtrix 3 in 2026 - it keeps working but gets no new releases, and new work happens in its successor, AWTRIX NG. The non-commercial license means you cannot sell clocks running this firmware, but for personal use it is one of the cleanest hardware hacks around. If flashing fails, the docs' first advice is to try a different USB cable and port.

GOOD TO KNOW

  • —Firmware repository is complete: web flasher, compiled binaries, JSON API docs, and a full wiki.
  • —No hardware files — this is firmware for the commercial Ulanzi TC001 clock.
  • —The wiki covers installation, MQTT setup, Home Assistant integration, and custom apps.
  • —License is CC BY-NC-SA 4.0: non-commercial use only, share-alike required.
  • —The flasher runs in Chrome or Edge from the official docs site (blueforcer.github.io/awtrix3, Online flasher page), no local toolchain needed.
  • —2,300+ stars; development has ended (archive since 2026) and continues in the successor AWTRIX NG.

Parts to buy

2 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • Ulanzi TC001 pixel clockFind
  • Good USB-C data cableFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

Printnothing required
BuyUlanzi TC001 pixel clock, a good USB-C data cable (the docs say some users had flashing errors with the cable supplied with the clock)
ToolsChrome or Edge browser, MQTT broker (Mosquitto on Home Assistant is common), Home Assistant if you want notifications
Skillsbasic browser navigation and copy-pasting MQTT config lines; no soldering or programming
TimeAn evening: the browser flash is quick, then setting up MQTT and testing takes longer, more if you have never run an MQTT broker
Cost$$, dominated by the TC001 clock itself
Safety5 V USB-powered clock with a small built-in battery; no mains voltage. Ordinary electronics care: do not puncture or short the battery if you open the case.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Videos

Community video by Smart Home Junkie, linked from the AWTRIX 3 README: the Ulanzi pixel clock as a Home Assistant display.

More builds like this

All projects

Gallery

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Check you have an ESP32-based clock: the Ulanzi TC001, or a self-built clock wired to the documented Ulanzi pinout(AWTRIX 3 runs only on ESP32 hardware)
  2. 2.Open the online flasher in the AWTRIX 3 docs (blueforcer.github.io/awtrix3, Online flasher) in Chrome or Edge, tick 'erase' for the first flash, and follow it(Fully browser-based, no local toolchain needed)
  3. 3.Set up an MQTT broker if you do not have one — Mosquitto on Home Assistant is the common path(The wiki assumes MQTT is already running; if not, budget an extra hour)
  4. 4.Configure the clock's WiFi and MQTT settings via the web interface at its IP address(The clock broadcasts its own AP on first boot for setup)
  5. 5.Install the Home Assistant integration or send test messages over MQTT to confirm it works(The wiki has JSON examples for every app type)

Resources

Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.

KNOWN ISSUES

  • Flashing errors are usually the cable: the docs recommend trying a different USB cable and port, because some users had trouble with the cable supplied with the clock. Tick 'erase' the first time you flash a Ulanzi.
  • Not having an MQTT broker running before you start — the clock will flash fine but you will see nothing until MQTT is configured, and setting up Mosquitto from scratch takes an hour if you have never done it.
  • Expecting the clock to do something on its own — Home Assistant discovers it over MQTT, but every custom app or notification still has to be sent by your own automations.
  • Using Safari or Firefox for the flash — the web serial API only works in Chrome and Edge.
  • The non-commercial license: you cannot sell these clocks or run them in a commercial setting without separate permission.
  • Assuming the clock keeps perfect time offline — it syncs time over NTP via WiFi, so after a long network outage the time can drift.

Can I go back to the stock Ulanzi firmware if I change my mind?

Yes. The Awtrix docs provide a dump of the original Ulanzi firmware; you flash it back from the browser (esp.huhn.me) the same way you installed Awtrix.

Do I need Home Assistant, or can I use this standalone?

You can send MQTT messages from anything — Node-RED, Python scripts, cron jobs. Home Assistant is just the most common use case.

What is the refresh rate like for sensor updates?

Updates show as soon as your system sends them over MQTT or HTTP; in practice the limit is how often your sensors and automations publish.

Can I run custom animations or icons?

Yes. Download any LaMetric icon by its ID from the clock's web interface, or upload your own GIF (up to 32x8 pixels) or JPG (8x8) icons through its file manager. The paid AWTRIX app adds a database of over 1,800 icons and animations. Custom pages and notifications are sent as JSON over MQTT or HTTP.

Does it work with other smart home platforms like Google Home or Alexa?

Not directly. It takes content over MQTT or its HTTP API, so you need a bridge or automation that relays events from those ecosystems.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

AWTRIX 3 is archived and its successor, AWTRIX NG, is a full rewrite. If you already run AWTRIX 3 on a TC001, would you stay on the version that works, or move to NG for on-device apps?

CompareeTEAM2mo agoedited

Practical notes from our verification: the GitHub repo is the primary source, but AWTRIX 3 is no longer maintained. The README now says development has ended, the repository stays online as an archive and the firmware keeps working, while all new work happens in the successor, AWTRIX NG. The online flasher is still the easiest way to install it. The README links community-made YouTube walkthroughs and a large Discord community. You do not strictly need an MQTT broker: AWTRIX 3 has both an MQTT and an HTTP API, and supports Home Assistant MQTT discovery if you already run a broker. The licence is CC BY-NC-SA 4.0, so commercial use of the firmware is not allowed. If you are starting fresh today, look at AWTRIX NG before committing to the archived version. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.

Blueforcer

Blueforcer built Awtrix 3 as the successor to the original Awtrix project, moving from custom hardware to a flash-and-go approach using the widely available Ulanzi TC001. Developed from 2023, it attracted a Discord community of over 5,000 people; in 2026 Blueforcer ended Awtrix 3 and moved development to a full rewrite, AWTRIX NG.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.