Three boards that talk to each other: a clock disciplined by GPS to the far side of a microsecond, a 64×32 LED panel, and a touchscreen that drives them both. The panel finds the display by broadcast rather than by address, so either can move networks without being reconfigured. The clock joins as a time source.
No account, no server, no cloud. Everything happens on your own network, and the boards keep working when it is not there.
GPS-disciplined precision clock on a Freenove ESP32-S3, 16 MB.
Displays YYYY.MM.DD.HH.MM.SS.ffffff across chained
7-segment modules — with as many fractional digits as the hardware can
honestly defend, and none that it can't. 1PPS times the second; NMEA or
NTP names it, and those two jobs never mix.
64×32 HUB75 RGB panel driven over DMA, ESP32-S3 with 16 MB of flash. Messages, animations, drawings and images from a microSD card. It runs its own access point and joins a known network at the same time, so it keeps working whether or not there is a LAN in range.
5″ 800×480 LVGL touchscreen on an Elecrow CrowPanel ESP32-S3. The controller: it drives The Display over HTTP and reads the clock's offset, round-trip and lock state for accurate timestamps. 4 MB of flash, and the partition table has no slack left in it at all.
Sideload them: you'll need to allow installs from your browser or file manager the first time. After that The Display's app updates itself — Setup → This app.
There is no browser flasher here, on purpose. Three ESP32-S3
boards that look alike to esptool live on the same desk, and
each device's own flasher checks the board's MAC address before it writes a
byte — it refuses every board but its own, including one it has never seen.
A browser flashing tool has no such guard, and the day it writes The
Display's firmware onto The Panel is the day you find out. Use the flasher
in that device's tools/ folder.
Each image is published with the SHA-256 the flasher checks against
MANIFEST.txt before writing.