offline

MATRIX LAYOUT

Two stacked 32×8 panels → width 32, height 16, panel height 8. Width × height is capped at 1024 LEDs. IDENTIFY marks the corners (red = top-left, green = top-right, blue = bottom-left) and sweeps left→right so you can dial in wiring/flips until the physical panel matches. RAW ignores all mapping and lights physical LEDs 0,1,2... in chain order with a colour band every 16 and white every 128 - use it to read how your panel is actually wired.

ESP32

Pin + LED count + brightness are pushed to the ESP32 on connect and on SAVE. Brightness is applied on-device (power limiting - 512 LEDs at full white pulls ~30 A).

CONNECTION

The app is fully functional offline; a link just mirrors the canvas to the panel. Only changed pixels are sent (delta encoding), so drawing and sparse scenes reach 60 fps; full-screen animations auto-pace to ~30 fps. Needs ESP32 firmware v2.3+.

DIAGNOSTICS

Overlays an incrementing frame number as binary along the top LED row: the leftmost cell is an amber start marker, then bit 0, bit 1... run left→right (a lit cell = 1). The identical pattern shows on the preview and streams to the panel, with a plain decimal readout on screen. Film the screen and the panel together, step frame by frame, and the gap between the two counts is the true render→shown latency. Overwrites the top row while enabled; no firmware change needed. Off by default.