FPGA 3Display is a volumetric display built around a rotating 64×64 RGB HUB75 LED panel controlled by a CMOD A7 FPGA. As it spins, the system creates 3D images through persistence of vision, letting you see floating forms and animations that appear to hang in midair.
We designed custom SystemVerilog modules to handle real-time rendering, synchronization, and data conversion between Cartesian and cylindrical coordinates. The display is powered through a slip ring, and an infrared break-beam sensor keeps each frame aligned with the rotation.
I got to work on this project for my 6.2050 (Digital Systems Laboratory) final project with Liam Kronman and JT Markowitz as collaborators.
My Role
I focused on both the hardware control and mechanical setup. I wrote the HUB75 driver (hub75_output.sv) and the rotational output logic (rot_frame_buffer_to_hub75.sv), making sure the display updated cleanly with each rotation. I also worked on stabilizing the spinning rig and wiring the slip ring assembly for reliable power delivery.
System Overview
The FPGA drives the LED panel through a modular set of SystemVerilog blocks:
hub75_output.sv– low-level display control using Binary Count Modulationframe_manager.sv– sends voxel data based on rotation anglerot_frame_buffer.sv– manages per-angle frame datacartesian_to_cylindrical.sv– precomputed coordinate mappingdetect_to_theta.sv– converts IR sensor timing to angular position
These modules run together to stream voxelized 3D data in real time as the display spins.
Mechanical Design
We 3D-printed a custom mount that holds the FPGA, LED matrix, and slip ring on a motor shaft. The rig includes counterweights to balance rotation and an aluminum extrusion frame to keep everything steady. The IR sensor is fixed on the frame to detect each rotation and sync the visuals.
Visuals and Results
We rendered shapes like spheres, cubes, and hemispheres, and later added voxelized .OBJ models including the Stanford Bunny, TIE Fighter, Darth Vader’s helmet, and MIT’s Great Dome. We also implemented a bouncing ball animation inside a 3D box.
At full speed, the display produces convincing volumetric effects—best seen in person, though we recorded some demo footage below.
Reflection
This project brought together mechanical design, HDL development, and visualization. Getting the synchronization right between the spinning hardware and the frame timing was the hardest but most rewarding part.