Like many other college seniors I decided getting my diploma wearing a blank graduation cap was a little too boring. To spice things up, I decided to use my typical strategy of “add more LEDs”. 

Fortunately MIT gives seniors 1-2 weeks to finish their senior thesis projects prepare themselves for graduation. During this time, I grabbed a few extra LED strips I had lying around and affixed them onto my cap along with a micro-controller and a battery pack. 

Here’s the finished product. 

A video of the cap doing its thang

The cap loops through about 2:30 seconds of animations that  I created for the cap. The Adafruit NeoMatrix library was particularly helpful in creating this cap quickly as it lets you easily load matrices of color information and even text onto an 2D array of LEDs like I had. It also handles some color related things like gamma correction which modifies the colors of the LEDs to compensate for the non-linear way in which humans perceive color. Without gamma correction, colors like orange and purple look pretty bad on RGB LEDs like the ones on this cap.

Some of the visualizations were more programatic and math driven such as the waves and snakes of colors. Others, like the car being catapulted onto the dome, were “animated” by creating arrays of each frame and then cycling through them.

A fun future addition for this project would be adding an SD card to the mirco-controller that can hold a bunch of image or maybe even video files of some kind. There could then be some code added to the micro-controller to let it play the videos or loop through the images as frames of an animation. This could let me use some easier compute tools to make the content for the display.