Zach Jon Butler's 768-Pixel Volumetric Display Is Powered by Four Very Dizzy Raspberry Pi RP2040s
Compact volumetric display uses persistence of vision to turn a 2D LED matrix into an addressable 3D image.
Maker Zach Jon Butler has released a design for a Raspberry Pi RP2040-powered volumetric display system, which works by spinning a 16×16 RGB LED matrix at high speed — along with all the electronics driving it.
"I was inspired by [a] video from a YouTuber called Mitxela," Butler writes of the project's origins, referring to a rotary persistence of vision display built and showcased by maker Tim Alex Jacobs back in December 2023. Like Jacobs' design, Butler's creation relies on the human eye's tendency to "smear" rapidly-moving bright lights to turn a 2D matrix of LEDs into a 3D image — creating a 3D volumetric display Butler colloquially refers to as an RGB "hologram."
Butler's take on the concept is split into two parts. The first is the LED matrix itself, a 16×16 array of tiny surface-mount RGB LEDs on a compact PCB with an edge connector designed to mechanically mate with a PCI Express socket — though carrying no PCI Express signals. This links it to a circular mainboard that hosts no fewer than four Raspberry Pi RP2040 dual-core microcontrollers: one to drive a P-channel high-side field-effect transistor (FET) to switch the columns and three as current sinks on the rows.
A motor underneath the board spins everything — RGB matrix and driver board — at high speed, causing a persistence of vision effect that turns the 2D matrix into a 3D image. With the right code, that 3D image can be treated as a true, though low-resolution, 3D volumetric display — as has been demonstrated to impressive effect with James Brown's ongoing work in the area.
"I think it will need really high frequency updates to update the pixels at the right spot during the spin," Butler explains of the reason for giving the system no fewer than eight Arm Cortex-M0+ microcontroller cores across four discrete chips. "There [are] 16×16×3 [768 total] LEDs to control and I want the spin to happen at at least 24 rotations per second."
Butler has released design files for the LED matrix board and the driver base board on OSHWLab under a public domain license, with code a work-in-progress at the time of writing; more information is available in his Reddit post.