Persistence of View Globe

Shawn Victor and I with the globe

In Fall 2018, I took Embedded Systems Design Lab (EE 445L). It was my favorite class I’ve taken at UT, because I love to build stuff. Most of the projects were done in teams of two, except for the final project which was a team of four. My teammates were Shawn Victor, Shivani Gupta, and Keeshan Patel. For our final project, we built a persistence of view globe. We won first place in the Fall 2018 Embedded Systems Design Competition.

The team: Rita, Shivani, Shawn, Keeshan

The globe is a spherical display that spins at 300 RPM and flashes precisely times LEDs to create an image. The embedded system is entirely enclosed inside an 18” 3D printed ring, and is controlled by WiFi. It has several modes, including a mode as an interactive music visualizer. We used a TM4C microcontroller and a custom PCB. The LEDs are a 144 LED/m SK9822 strip.

The globe slowly changes colors

I was responsible for the software development of the system. In order to control the 218 LEDs fast enough, I ran the SPI lines at 16 MHz and used DMA to buffer the data out. I used “ping pong” buffers to move the data. In music visualizer mode, I collect 30ms of data from the microphone, then perform a fast fourier transform and map the magnitude of certain frequency bands to different colors. More bass translates to more reds and pinks, and high notes are visualized as blue and green. This created a dancing effect that flashed with beats and matched musical patterns.

Music visualization

Shawn has an excellent overview of our design process on his website here!