Lighting up graduation with a 3D printed web-connected LED cap

Jun.4, 2013

At Cornell university graduations this year, Jeremy Blum, a recent electrical engineering graduate showcased his awesome 3D printed web-connected LED graduation cap. Jeremy stayed at Cornell for a fifth year to get his Masters degree in Electrical Engineering and he wanted to do something over-the-top. "Graduations can be a bit boring, so I wanted to develop an interactive platform (on my head) that others could fiddle with during the ceremonies." says Jeremy.

Jeremy's "Control my Cap" project is a WiFi-connected headpiece that consists of a battery pack, cap PCB unit, and a wrist-mounted Raspberry Pi linux computer. The Raspberry Pi on his wrist was used to control a light-up display on his graduation mortar board. The system can automatically connect to a list of pre-allowed WPA-protected WiFi hotspots on boot.

Jeremy designed and 3D printed a case for the Raspberry Pi plus the Adafruit LCD+Keypad Pi Plate. It comfortably holds and protects both while leaving all the port accessible. Most importantly, it snaps onto a bracelet that allows you to strap your raspberry pi to your wrist. He also printed parts for holding the LED Board on his graduation mortar board, along with the light diffuser. All these parts were made on a MakerBot Replicator Dual, using PLA plastic.

Finally Jeremy used a mobile website to allow anybody to easily submit colors for the cap's color queue. In web controlled mode, the wrist computer constantly grabs the 10 most recently-submitted colors from the mobile site, and displays them on the cap. When a color is shown for the first time, the Raspberry Pi sends out a tweet to the color requester to tell them that their color is now being displayed.

"During graduation weekend, the "Control-my-Cap" system was a huge success. Approximately 200 color requests were sent to the cap over the course of two days. At one point during the commencement address, the 3G and 4G networks at Cornell crashed for a few minutes due to the insane number of people all on the smartphones at once in the stadium. This, in turn, caused one of my python web-checking scripts to crash. However, a simple "hat reboot" fixed this." writes Jeremy.