Awesome Dashboards

Write-up

AWTRIX NG: source-available firmware for LED clocks

Source-available firmware turning an LED matrix panel into a scriptable notification display.

AWTRIX NG is source-available firmware for the Ulanzi TC001, TC002 and DIY ESP32 clocks. Home Assistant finds the clock over MQTT; the license is noncommercial.

Filed under Wall displays, e-ink and hardware screens

Published

Updated

At a glance

  • Type: firmware for the Ulanzi TC001, the Ulanzi TC002 and self-built ESP32 or ESP32-S3 LED matrix clocks (github.com/Blueforcer/awtrix-ng, read 2026-10-24)
  • Pricing: free for any noncommercial use; selling it or using it in a business needs a separate agreement with the maintainer (LICENSE.md, read 2026-10-24)
  • License: PolyForm Noncommercial 1.0.0, source-available rather than open source; the README notes it is "not OSI open source" (github.com/Blueforcer/awtrix-ng, read 2026-10-24)
  • Install: flash the Ulanzi TC001 and self-built ESP32 or ESP32-S3 clocks from a web browser; the Ulanzi TC002 uses a USB installer for Windows, macOS and Linux (github.com/Blueforcer/awtrix-ng, read 2026-10-24)
  • Platforms: the firmware runs on the Ulanzi TC001 (ESP32), the Ulanzi TC002 (ARM Linux build) and self-built ESP32 or ESP32-S3 boards; the TC002 installer runs on Windows, macOS or Linux (github.com/Blueforcer/awtrix-ng/blob/main/docs/developers/building.md, read 2026-10-24)
  • Links: GitHub · Docs · AWTRIX Hub
Price
$0 USD, checked (source)
  • Free
  • Self-hostable

Last checked

What it is and who it's for

AWTRIX NG is firmware, written from scratch, for turning an LED matrix panel into a small always-on screen for a desk or a wall. It succeeds AWTRIX 3 and is maintained by Stephan Mühl, known as Blueforcer (github.com/Blueforcer/awtrix-ng, read 2026-10-24). The latest tagged release is v1.2.2, published 2026-10-06, and the repository had 440 stars and 42 forks on this read, with the most recent push on 2026-10-21 (github.com/Blueforcer/awtrix-ng/releases and github.com/Blueforcer/awtrix-ng, read 2026-10-24).

The clock displays the time, the date, readings from any sensors, and messages pushed in from a smart home system (github.com/Blueforcer/awtrix-ng, read 2026-10-24). Content reaches the panel one of two ways: pushed from outside over HTTP or MQTT, from Home Assistant, Node-RED, n8n, a shell script or anything else that speaks either protocol, or written as a small script in Berry, a Python-shaped language, and run directly on the device so it keeps working even when nothing else on the network is.

The audience is anyone willing to flash firmware onto a clock. A commercial Ulanzi TC001 or TC002 needs no wiring; a self-built clock means wiring a panel to an ESP32 or ESP32-S3 board first. A home automation hobbyist who wants a small Home Assistant readout is the clearest fit; someone who wants a calendar on a bigger screen is better served by a finished device like TRMNL or DAKboard.

Features worth knowing

Content from outside the clock takes one of two forms. A pushed app takes a slot in the rotation, refreshed by the same request whenever the value changes. A notification is a one-shot message that interrupts the rotation and clears itself when its time is up. Both share the same payload of text, colors, icons, bar and line charts, and animation effects. The README names 19 background effects and 22 transitions between apps (github.com/Blueforcer/awtrix-ng, read 2026-10-24).

Scripts, written in Berry, are saved and edited from the clock's own web UI. They can pull data from the internet, publish and subscribe over MQTT, talk to Modbus devices, hold state across restarts, and expose their own settings. If a script hits an error, that script's slot shows a red frame; the rest of the clock keeps running (github.com/Blueforcer/awtrix-ng, read 2026-10-24).

Integrations cover HTTP and MQTT with Home Assistant discovery, so the clock, its buttons, sensors, brightness and volume show up as Home Assistant entities with no YAML required (github.com/Blueforcer/awtrix-ng/blob/main/docs/guides/home-assistant.md, read 2026-10-24). The TC002 brings Bluetooth gamepads, iPhone notifications over Bluetooth, and a knob that doubles as a Home Assistant Voice satellite.

A separate AWTRIX NG app for iPhone and Android finds clocks on your Wi-Fi, shows them live, and brings the AWTRIX Hub to your phone. It is a one-time purchase with no subscription or account required (github.com/Blueforcer/awtrix-ng, read 2026-10-24).

AWTRIX Hub, a separate community site at awtrix.de, serves both AWTRIX 3 and AWTRIX NG. It carries 261 scripts that run on AWTRIX NG, 191 flows and 2,646 icons at this check, plus a browser-based Pixel Studio for drawing your own icons and animations (awtrix.de, read 2026-10-24).

Getting started

Setup differs by clock. The Ulanzi TC001 and self-built ESP32 or ESP32-S3 clocks are flashed from a web browser. The Ulanzi TC002 uses a USB installer for Windows, macOS and Linux (github.com/Blueforcer/awtrix-ng, read 2026-10-24). Once the firmware is on the clock, you enter your Wi-Fi in the TC002 installer or join the clock's setup hotspot, then open the web UI at the address the clock shows on screen after boot.

Pricing (checked 2026-10-24)

AWTRIX NG itself has no price. It is licensed under the PolyForm Noncommercial License 1.0.0, free to use, study, modify and distribute for any noncommercial purpose, including personal projects, schools, public research and government use. Selling it or using it in a business needs a separate agreement with the maintainer (github.com/Blueforcer/awtrix-ng/blob/main/LICENSE.md, read 2026-10-24). What costs money is hardware: an ESP32 or ESP32-S3 board and an LED matrix panel if you build one yourself, or a Ulanzi TC001 or TC002 bought separately from Ulanzi. The optional iPhone and Android app is a one-time purchase of its own, through the App Store and Google Play.

Limits and trade-offs

It is not open source by the usual definition, even though the code sits in the open on GitHub. The practical effect is that any business use needs a commercial license from the maintainer, whether that is selling a product built on it or running it inside the business.

Resolution is low across every supported clock. The Ulanzi TC001 is 32 by 8 pixels (github.com/Blueforcer/awtrix-ng/blob/main/docs/developers/building.md, read 2026-10-24), and self-built panels run from 32 to 128 wide at 8 pixels tall; both are built for short text, numbers and simple icons, not a calendar grid. The Ulanzi TC002 steps up to 52 by 16 pixels, enough for a GIF, JPEG or PNG picture from any web address, album covers included (github.com/Blueforcer/awtrix-ng, read 2026-10-24).

One developer maintains the project rather than a company or a large team. It is still updated, with the latest release in October 2026.

Alternatives

  • TRMNL, a finished e-ink device bought once for $139, with an open firmware but a closed hosted web app.
  • Tidbyt, a closed-source LED matrix display sold as a finished $199 product rather than firmware you flash yourself.
  • LaMetric Time, another closed-source pixel display with its own app store, also a finished $199 product.
  • MagicMirror², open source under the MIT license and free for any use, commercial included, but built for a full screen behind mirror glass rather than a small LED panel.
  • Inkycal, also open source under the GPL, running on a Raspberry Pi with an e-paper panel instead of an LED matrix.

Questions people ask

What is Awtrix?

AWTRIX NG is firmware for the Ulanzi TC001, the Ulanzi TC002 and self-built ESP32 or ESP32-S3 clocks. It turns an LED matrix panel into a small networked screen showing the time, date and sensor readings, plus whatever you push to it over HTTP or MQTT or script directly on the device in Berry. It is the rewrite that succeeded AWTRIX 3.

How do I add Awtrix to my Home Assistant setup?

You need Home Assistant 2024.11 or newer, with the MQTT integration connected to a broker. In AWTRIX, go to System, then the MQTT section. Switch on Enable MQTT, enter the broker's address and port, switch on HA discovery, then save and reboot. The clock shows up as one device with lights, buttons and sensors.

Sources

Last checked 2026-10-24.

Last checked