Demofruit demoscene sampler
Flash six classic-style demoscene effects with tracker music, an animated launcher and button controls to Fruit Jam.
View original project ↗What you’re building
Demofruit is an Arduino demoscene sampler made specifically for the RP2350-based Adafruit Fruit Jam. One exact-board UF2 provides an animated launcher and six effects: Starfield, Plasma, Chrome Sphere, Valley Run, Rotozoom and The Juggler. Each slot has original tracker-module music by kqvc, while the board’s three buttons change effect settings and its five NeoPixels show menu or status feedback. The Juggler is a port of Eric Graham’s 1987 Amiga raytracer; on launch it renders 24 frames into PSRAM before looping them. The ready-built path needs only the Fruit Jam, DVI-compatible display and optional powered audio, with navigation handled by the onboard buttons. Flashing the UF2 replaces the current board firmware. The project README says to power-cycle rather than only reset if DVI, PSRAM or USB starts in a bad state. Custom builds require arduino-pico 5.6.0 or newer, a 150 MHz Tools setting and the documented Adafruit libraries.
Key steps
- Back up any Fruit Jam firmware or files you need, then download demofruit.ino.uf2 from the guide’s linked exact-board build rather than a file for another RP2350 board.
- Connect the Fruit Jam to the computer with a USB data cable, switch it on, hold BOOT/BUTTON1, press and release Reset, and keep holding BOOT until the RP2350 drive appears.
- Copy demofruit.ino.uf2 to RP2350, wait for the automatic reboot, and power-cycle the board if the display stays blank or USB behaves unexpectedly.
- Connect the DVI output to a compatible display and, for music, connect headphones or powered speakers to the 3.5 mm output.
- Use Button 3 and Button 2 to move through the launcher, Button 1 to start a demo, and Reset to return to the menu.
- Exercise all six demos and their documented button controls; allow The Juggler to complete its initial 24-frame PSRAM render before judging playback.
Original project and code
Original project pages, manufacturer documentation and repositories used while preparing this page. Last reviewed .
