LED Matrix Clock & On Air Sign
A 16×16 LED clock and on-air sign combining embedded hardware, a local web interface, and a 3D-printed diffuser.
I built this clock and On Air sign from spare parts to let my family know when I am on a video call. It was an exercise in designing the whole experience: an LED pixel display and its hardware to a browser-based control panel and the physical 3d printed enclosure. The full build story and source code cover the hardware and software in more detail.

Designing for a tiny display
The device uses a flexible 16×16 RGB LED matrix driven by an ESP32 board running CircuitPython. The display is bright enough to read across a room and can show a clock, timer, and scrolling messages.
A 16×16 display has no room for menus, so I moved the more complex controls
into a webapp served by the device over local WI-FI. Using multicast DNS means the
user doesn't need to install any apps or do any setup. Just load ledclock.local in your
phone web-browser. The interface controls the device through REST calls,
and the response is quick enough to draw in a pixel editor and see the results
on the real display almost immediately.

From parts to a physical object
I started with a bare LED matrix, controller board, and some spare USB cables. After getting the pixels working and experimenting with the interface, I tested paper as a diffuser to make the LEDs easier to read. Later designed a stand and curved grid diffuser in OnShape (CAD) and printed it in white PLA, giving the electronics a more finished form.


The project also let me experiment with using coding agents during development. Short iterations, serial output, and visual feedback let me diagnose hardware and rendering problems very quickly.
Future refinements include a single power supply, smoother enclosure edges, and a rotary encoder for quick physical controls.