The above image is from a sci-fi comedy play called Moby Alpha that I cowrote and star in along with my writing partner, Chuck Armstrong, as part of our group Charles. (Performing at The Complex in Hollywood during June.)
Having performed Moby Alpha many times now, one of the biggest takeaways is that people want to know how we built the LED helmets that we wear throughout the otherwise dark show.
And although I’m in no way tired of giving my typical, rambling explanation of “I used an Arduino…there’s this site called Adafruit…buttons”, I figured a more thought-out post would be more helpful.
So here it goes.
First, a description of what this helmets is and what it does:
It’s a basic costume space helmet with an LED strip looped around the inside. The strip is connected to an Arduino, which is connected to two buttons. These buttons allow you go forward and backward through a series of light cues. Here’s an example:
Materials you will need:
Fortunately for me, my helmet design is largely based on this Adafruit tutorial for an LED belt, so a lot of this tutorial will just be me referencing that tutorial. For example you will need all of the materials on that tutorial, which can be bought as a single kit on that link.
You will also need the tools listed in that tutorial that are not part of that kit. I have copied and pasted them below:
- A soldering iron and solder
- Wire cutters and wire stripper (or a tool that does both)
- Heat source like a heat gun, hairdryer, or lighter
- Any kind of pliers
- A 3rd hand tool or panavise or some other way to keep your work steady
- A basic multimeter can be handy
In addition, to make it a helmet you will need:
- A space helmet
- Two big buttons like these, or these
- Two connectors for the buttons, such as these
- Printed Circuit Breadboard (one of many examples)
- Breakaway headers
- A drill with a 1 1/8” bit (depending on the size of your buttons
- Duct tape (Yes, I am the worst definition of hacker)
First step (which actually consists of many substeps): follow the Adafruit LED belt tutorial
See, I told you I’d just end up referencing that other tutorial. However, there is one important step where my build differs:
When you get to the Power Connection step, the Adafruit tutorial instructs you to connect the battery power directly to the Arduino. Because we will be connecting buttons (and if you get ambitious, other things), I prefer to first solder the Arduino to the PCB using the breakaway headers, like so:
and then connect the battery ground and power to the two rails on the PCB like so:
And finally connect the ground and power inputs for the Arduino to the ground and power rails on the board.
This way you will be able to easily share ground with your buttons, which will also connect to pins D3 and D7.
Note: I don’t think you need to do it this way. I believe you could skip the PCB board, set some of the output pins on the Arduino to ground and use those for the buttons’ ground. But that is not how I did it.
Anyway, once you have the LED belt up and working, you are almost done. Just a few more steps to turn that belt into a space helmet.
Drill two holes in the helmet for the buttons
Here is where I recommend putting the holes. The plastic is pretty soft so just take your time. When you are done, make sure your button fits into the hole. Then take them out for the next step.
Solder connectors to the buttons
Cut the connectors in two so that you have two separate male and two female ends. Note that you should cut one connector to leave more room for a male end and cut another connector to create more room for a female end. This combination will be used to connect the far side button. Here’s a picture that will hopefully explain what I’m talking about.
See how long it is. That’s because it has to wrap around your helmet to connect to the far side button. Now solder the male ends to the buttons. Note, these connectors actually have three wires when we only need two, so I clipped the white wires.
Now solder one female connector to the ground rail and pin D3 (black wire goes to ground, red wire goes to D3) and solder the other female connector to the ground rail and D7. You can see this in the above image of the long female end connected to D7.
In a moment, we will connect the buttons to these female ends.
Note: You could just connect the buttons directly to the Arduino with plain wires and not use these connectors, but I like my parts to be easily interchangeable.
Duct tape the LED strip inside the helmet.
There’s certainly a prettier way to do this, but we use these helmets exclusively in the dark and no one notices the tape. Also, tape allows you to remove the strip if for some reason it’s malfunctioning.
You will also want to cut a hole through the helmet’s vents so that you can string the LED strip through to connect it to the Arduino.
Also, while you’re at it, duct tape the the battery pack to the back of the helmet. Again, gross, but it has allowed me to replace a broken battery pack.
Connect it all together
Put the buttons in the holes, thread their connectors through the helmet vents and connect to the Arduino. Attach the LED strip and battery to the arduino.
Note: You may notice that there are some additional wires attached to my Arduino. That is because our helmets also use this counter to keep track of what cue we are on. This is very useful if your batteries fail during a show on (say on cue 42) and you have to quickly prepare your backup helmet while your partner stalls with a long-winded Douglas Adams-esque monologue, but otherwise it’s not that important.
Congrats, you have just completed the physical build for your space helmet. Assuming you have one of the LED belt examples loaded onto your Arduino, when you turn the battery back on, your helmets will be filled with colorful non-stop effects and your buttons will do nothing. The next step is uploading new code that will make use of the buttons.
Here is the git repository where the code resides. It is largely based on the advanced cue strip example from the Adafruit tutorial with modifications made so that you can control the effects with the helmet buttons.
After uploading the code you should have a helmet that goes from red to blue to, uh, renderEffect03. Like so:
Finally, how we put our helmets to good use : Moby Alpha
I’ve already mentioned it, and you may have come here because you already saw the play Moby Alpha, but for those of you who have not, here’s a brief description of the show:
An hilarious homage to classic sci-fi and bombastic literature, Moby Alpha tells the story of a mad captain’s quest for revenge on the amorphous spacial energy cloud that temporarily took his leg. More simply, Moby Alpha is Moby–Dick in space, but funny.
The show is performed in an entirely dark theater with the only light emanating from the duo’s custom-built million color LED space helmets, creating a unique, otherworldly aesthetic.
Written and performed by Charles, the Seattle comedy duo Centerstage Chicago called “absolutely brilliant”.
And here’s a couple quotes:
"Charles may have landed a triple-crossover hit…pleasing Melville nerds, sci-fi nerds, and comedy nerds."
“FOUR STARS - A clever satire that manages to prank sci-fi and classical culture in the same trip.”
And here’s a preview:
Please come check out the show if you can. And enjoy your helmet!
If you have any questions, please put them in the comments. I can’t promise how responsive I’ll be, but I’ll try. If your questions relate to the LED belt part of the build, I suggest you ask them on the Adafruit forums.