Spinning Hologram

MIT Dorm Project, Jan. 2022 - May 2022

Image

Personal Project

Control/Electronics/Design

In Spring 2022, I proposed a 3D display device to facilitate group discussions around 3D models. MIT funded the proposal, and it became my dorm project. I designed a high-rpm spinning LED matrix with optimized low-level video update code, enabling display of 3D videos suspended in midair.

Skills

  • Matlab Simulation
  • Controls
  • C/C++/Teensy
  • Electronics

Project Goal

I designed a high-rpm spinning LED matrix with a fast, low-level update code to display volumetric holograms. The LED matrix was made viewable from both sides, eliminating visual barriers. This enabled people to upload CAD files into the device and view 3D models from all angles.

Results

I use Matlab to generate and simulate the color of the individual LEDs by timing and postion. I then saved the simulations into files that can be uploaded into the microcontroller. The final system reached the following specs:

  1. Spin speed > 1200 rpm
  2. Absolute angle = ± 0.5 degrees
  3. Refresh Rate > 1000 Hz
The accurate control and timing scheme allows an 3D image to be displayed in space with precise visual depth.

Video: Hologram displaying a rolling beachball

Video: Hologram test of concept

Design Decisions

For the structure, self-aligning bearings on rotary shafts were chosen, and the frame was 3D printed to minimize imbalance. After testing motors, a brushless motor with a hall effect encoder was selected for sufficient power. The control system was initially PID before switching to open loop control for better angle accuracy. The program runs on an ESP32 at a high clock rate, using individual addressable LEDs with parallel output to maximize video update rate.

Image
Hologram Display - Floating Cube

Image
Hologram Display - Ball Bumping in to Wall

Image
MatLab Simulation to Produce C code

Image
Test Setup of the system

Image
Test Setup of the system