Sign mode
Override the rotation with any text. Optional auto-clear timer.
Offline● open hardware · open source
Rotates stocks, weather, and the clock, then flips to a status sign whenever you need one. Built on an ESP32-S3, set up over Bluetooth from your phone.
/ what it does
A rotation you set once. A sign or timer overrides it anytime.
Override the rotation with any text. Optional auto-clear timer.
OfflineA live MM:SS countdown, ending in an animation, then back to ambient.
Live quotes from finnhub.io. Free API key required.
Current conditions for the places you add. Worldwide, no API key needed.
Steady HH:MM alone, scrolls when sharing the rotation. NTP-synced.
/ see it work
Set the rotation, signs, and timers from your phone.
/ under the hood
Custom C++ firmware on an ESP32-S3 with Wi-Fi and Bluetooth.
Core 0 fetches quotes and weather; Core 1 drives the panel. A slow network never stutters the screen.
One documented Bluetooth service, every write gated on a 6-digit PIN. The mobile apps are just clients of it.
No Wi-Fi or API key? It drops into a setup mode. Signs and timers work with no network at all.
At boot, the BOOT button is the bootloader strap; at runtime, hold it ten seconds to factory reset.
It talks straight to Finnhub and MET Norway over your Wi-Fi. No server in the middle.
Wi-Fi and tickers save to flash; quotes and any active sign live in RAM. Pull the plug and it boots back to your rotation.
/ make your own
Two off-the-shelf modules, a custom PCB, a 3D-printed frame.
| Part | What | |
|---|---|---|
| MCU board | Freenove ESP32-S3-WROOM (FNK0099) · onboard NeoPixel, native USB-C | Buy ↗ |
| Display | 4-in-1 MAX7219 LED matrix (FC16 type) | any |
| PCB | Custom board carrying both modules · EasyEDA sources, order via JLCPCB | Files ↗ |
| Frame | 3D-printed frame: top/bottom strips or a single bracket (STLs included) | STLs ↗ |
| Cable | USB-C for power + flashing | any |
The PCB is optional. You can wire the matrix straight to the ESP32-S3 with jumper wires.
git clone https://github.com/ssayala/led-ticker
cd led-ticker/firmware
pio run -t upload // build & flash over USB-C
No toolkit? No problem: flash it using Chrome and USB