Holo Player¶
Firmware for the Waveshare ESP32-S3-Touch-LCD-1.28, driving a droid's holoprojector: it plays Motion-JPEG clips and shows images — animated GIFs included — on a 240×240 round panel, lights a NeoPixel ring, and aims two servos the way a dome's basic holoprojectors move. Everything is driven from a console on the board's USB-C port.
The board is an ESP32-S3R2 with 2 MB of PSRAM and 16 MB of flash, carrying a GC9A01 round IPS panel, a CST816S touch controller and a QMI8658 IMU. Clips live on an 11 MB LittleFS volume and go onto the board over the same serial console, as does new firmware.
-
From the browser in a few clicks, with esptool, or built from source. Update in place, or start fresh.
-
Pins, the P2 expansion header, and what is wired to what.
-
Make a Motion-JPEG file, put it on the board, and play it.
-
A PNG, JPEG or GIF on the panel, where it stays until something replaces it. Animated GIFs play.
-
Three wires, and the power budget that decides whether it needs its own supply.
-
The motions, and calibrating each axis' travel.
-
Put clips and images on the board, and try every command, from Chrome or Edge. No tools to install.
-
Every command the firmware registers.
The screen is off whenever nothing is showing
At boot, after screen clear, and when a clip ends, the panel is asleep with its backlight
off — not black, but unpowered. That is deliberate, and it is why the first frame of a clip is
never drawn to a dark screen. A colour or an image stays up until something replaces it.