The latest device crafted by the prolific maker going by mitxela comprises an LED matrix board, "a bunch of electronics" underneath it, an infrared sensor, a coin battery, and the motor from a CD drive. It's a deceptively simple bill of goods for a rather elegant DIY project the size of a tea light candle.
Typical volumetric displays are tricky things, given the need to send data and power to rapidly spinning things. Mitxela's solution: make everything spin, including the battery. Creeping up on the infrared sensor with his finger, mitxela coaxed the tiny spinning board to create collapsing stars, pouring liquid, and the candle flames for which it was originally designed.
"I won't deny, this is a very satisfying result for what was a hastily thrown-together prototype," mitxela says in the video. "I wasn't expecting it to work at all." The next version will have more LEDs, and they'll be better-centered; right now, the LED matrix backplate is on the center line, not the LEDs themselves. Since the LEDs illuminate twice during each revolution, having them exactly centered improves the clarity of the resulting image.
Mitxela's blog post on the project goes into far more detail (nearly 5,000 words' worth) on how it started, how it was made, and how it works. Key to the project was a "pick and place machine," or automatic chip mounter, a Charmhigh CHM-T36VA for mounting reels of individual LEDs into a matrix. Next was finding the right kind of microcontroller with enough flash memory for volumetric image data but not too much pain to actually program. That ended up being the RP2040-Tiny. Then there was the battery, which ended up being a rechargeable LIR2450, with a 3D-printed holder.
After soldering on a TCRT5000 infrared sensor and figuring out a way to secure the matrix onto the tiny board, mitxela had most of what he needed. Well, except the software. I'll admit here that I'm somewhat lost trying to follow along with how the infrared sensor, the little Pi processor, the GPIO pins, and the "systick" function of an ARM Cortex-M0 chip work together to make the spinny lights into recognizable images. There was also work to protect the battery from reaching too low a voltage level, involving a spliced-up USB port. And then creating volumetric data for the whole thing to interpret, which is just, you know, "applying Bresenham to 3D" and slicing it up into 24 slices per second for interpolation.
Mitxela has plenty of ideas for how to improve this gadget, including real remote control, easier battery disconnection, better LED alignment, and higher resolution. He posted the source code on GitHub, and everything else is documented in the blog post. If it's your first time discovering that site, be warned: It's not a great idea if you've got a lot due at work.