Can a trick from 1884 television make a true 3D screen you can view without glasses? Maker James Brown says yes, and his latest volumetric display proves it with a spinning drum and a stack of fast LED panels.
What did he build?
Early mechanical TVs used a Nipkow disk: a spinning plate with holes arranged in a spiral. Each hole swept one line of the picture past a light source, so the whole disk drew a frame as it turned. Brown bent that idea into a cylinder. A drum with a helical pattern of holes spins around a set of LED matrix panels, and the panels behind each hole show a full 2D image instead of a flat glow. Because every hole sends a different image in every direction, your left and right eyes see slightly different views. That gives you depth with no headset and no special glasses, and it works for a whole group of people standing around it. Pull the drum off and the effect disappears, which is a nice demo of how much the mechanical part matters.
How does the timing actually work?
The panels get refreshed 512 times per frame, locked to the drum’s rotation. The front three panels are 32×64 pixel HUB75-style LED matrices, picked because they can be driven extremely fast: about 22,500 fps in 1-bit color, or 7,500 fps at 3 bits per color. In wraparound mode with five panels active, that rate halves again.
- Per-eye resolution: roughly 100×48 at any instant
- Rays generated: over 5 million per frame, most of them aimed at empty space
- Vertical limit: the number of holes in the drum
- Horizontal limit: the panel refresh rate
The tricky part for anyone copying this is sync. If the drum speed drifts, the image the panels show no longer matches the hole in front of them, and the 3D view smears. A hall sensor or optical encoder feeding an interrupt pin on the controller is the usual fix, so the code can re-align each revolution. Brown also ported Doom to his displays as DOOMVOX, released on GitHub under GPL v2, which makes the firmware side worth reading.
Try it: where should a student team start?
Skip the full drum at first. Grab one 32×64 HUB75 panel, drive it from an ESP32 with the ESP32-HUB75-MatrixPanel-DMA library, and measure how fast you can push frames over the GPIO lines. Then add a slotted disk on a small DC motor with an IR break-beam sensor for sync. That scaled-down version fits a thesis timeline and teaches you persistence-of-vision timing before you commit to machining a drum. Full write-up and video links are on Hackster: James Brown’s Nipkow drum 3D display.
Frequently Asked Questions
How does the Nipkow drum create a 3D image without glasses?
The drum’s helical holes each pass in front of LED panels that show a different 2D view, synced to rotation. Each eye sees light from a slightly different angle, so the brain reads depth, and it works for several viewers at once.
What hardware limits the resolution of this display?
Vertical resolution depends on how many holes are in the drum, and horizontal resolution depends on how fast the LED panels refresh. The 32×64 panels hit about 22,500 fps in 1-bit color, giving roughly 100×48 pixels per eye.
What will I learn if I build a smaller version of this?
You’ll practice driving HUB75 LED matrices from a microcontroller, reading a hall or IR sensor on an interrupt pin, timing frames to a spinning motor, and debugging persistence-of-vision effects. Those skills carry over to POV displays, motor control, and real-time embedded code.
