Build Your Own 3D Volumetric Display for Under $50

This wild DIY 3D volumetric display uses a spinning LED matrix and a few clever hacks to keep the cost under $50.

nickbild
3 minutes ago Displays
A low-cost, DIY volumetric display (📷: Embedded in my Basement)

Seriously, are we ever going to get the cool, 3D displays sci-fi has teased us with for decades? What I want is R2-D2’s holoprojector or the computer interface shown in Minority Report, but all I ever get is pixels packed more tightly together on a flat, opaque panel. Come on! We can send people to the Moon, but we can’t make a practical 3D display for home use?

Whine as I may, that is unfortunately the case. But that doesn’t stop hackers from making some pretty cool 3D displays in their basements, even if they are low-resolution and impractical for general use. A nice example of such a project comes from YouTuber “Embedded in my Basement.” He built a mechanical volumetric display for exploring 3D models in real 3D space.

A look at the device at rest (📷: Embedded in my Basement)

The machine uses a swept-surface design, which is one of the more accessible ways to create volumetric imagery without requiring exotic optics or absurdly expensive hardware. Instead of projecting a true hologram, the display rapidly spins a flat 16x16 LED matrix through the air. Thanks to persistence of vision, the human brain blends those spinning 2D image slices together into what appears to be a floating, translucent 3D object.

At the center of the rotating assembly is an ESP32 microcontroller mounted directly beside the LED panel. That detail is important because it avoids one of the biggest engineering headaches in spinning electronics: transmitting high-speed data across moving electrical contacts. Rather than sending the data through noisy slip rings, the design only routes raw DC power through them. The ESP32 stores the animation data locally and drives the LED matrix directly while spinning.

High-speed slip rings rated for sufficient speed (500 RPM) can be expensive, so the builder combined two cheap 250 RPM units into a stacked differential system. The lower slip ring spins at 250 RPM, while the upper ring spins another 250 RPM relative to the already-moving base. The result is a total output speed of roughly 500 RPM without exceeding the rated speed of either component. A carefully designed 3D-printed gear train maintains the required 2:1 rotational ratio between the assemblies.

An ESP32 board goes along for the ride (📷: Embedded in my Basement)

The LED matrix can draw as much as 5 amps at full brightness, while each slip-ring channel is rated for only 2 amps. To safely handle the load, multiple channels were wired in parallel, spreading the current across several conductors while also improving reliability if one contact momentarily dropped out during rotation.

To synchronize the displayed image with the spinning arm, the system uses a simple sensor arrangement. A reed switch mounted on the rotor passes over a fixed magnet once per revolution. Each pulse tells the ESP32 exactly where the arm is in its rotation, allowing it to display the correct image slice at the correct angle.

The visual assets are prepared offline in Blender using custom slicing shaders and Python scripts that convert 3D models into raw 16x16 image arrays. That preprocessing keeps runtime overhead extremely low, since the ESP32 simply streams precomputed pixel data directly to the display.

Unfortunately, everything didn’t work out perfectly. The LED matrix interface turned out to support 800 kilobits per second rather than the 800 kilobytes per second the creator assumed. Consequently, at full speed, the display could only refresh every 16 degrees instead of every 2 degrees, leaving the final 3D images noticeably blurry. Even so, it is amazing how well this hacked-together 3D display works.

nickbild

R&D, creativity, and building the next big thing you never knew you wanted are my specialties.

Latest Articles