Introduction: Arduino Powered Headdress
Please read all the instructions, updates are in bold, I will do my best to keep the info on here up to date.
Build a cool moving headdress without 3D printing or laser cutting!
This headdress was inspired by the amazing artwork of Moritz Waldemeyer that features in the music video forAutomaton by Jamiroquai. This Instructable will show you how to recreate the headdress with readily available materials.
The headdress has15 servos and 85 RGB LEDs, it's made primarily from 10mm thick EVA foam and 5mm foamboard. A backpack style control box houses the battery and electronics. A hand controller is used to control the motion of the blades. Two Arduino Pro Minis are used to control the lights and servos respectively.
This project is quite long and involves a lot of soldering but the results are well worth the effort! Sketchup models are included for those who wish to use 3D printing in certain areas. There are templates for most of the parts as well all the code and libraries required. That being said there is a certain amount of guesswork and approximation needed by the builder.
Read on to see how you can make one...
Step 1: Gather Your Materials
- 15 x 9-gram servos.
- 15 x 500mm servo extension leads
- 85 x Neopixel RGB LEDs
- PCA 9685 16-channel 12-bit PWM Servo Motor Driver
- 2 x Arduino Pro Mini
- FTDI to USB converter (to allow you to download code to the Arduino Pro Mini)
- 2-3 meters of equipment wire with 9+ cores ( I used 12 core)
- Protoboard (about 10cm x 10cm)
- 3 x 100 Ohm resistors
- 2 or 3s lipo
- 3x push buttons
- DC buck converter LTC3780
3x 300-500ohm resistor
- White EVA foam, 10mm thick.
- 1x A1 Sheet of 5mm thick foam board
- 2x A4 sheets of opaque plastic
- Tin foil
- Masking tape
- Foam head
- 1mm thick foam (1 A4 sheet)
Estimated Parts cost is around £100.00
- Glue gun
- Soldering Iron
- Wire strippers
- Craft Knife
- Marker pen
Step 2: Build a Foam Dome
The foam dome acts as the base for the helmet so it is worth taking your time to get it as good as you can. If this is your first foam helmet build I highly recommend making a practice one first. This video is a good demonstration of how it is done. I would add a caveat that if you are using thick foam you need to make your pattern slightly oversized otherwise, the dome will not fit your head. I did this by tracing an outline about 6mm bigger overall. Making the dome slightly oversized on your head is a good idea as there will be cabling etc on the inside taking up some room.
The early stages are slightly undignified. Wrap a layer of tin foil around your head and pat it down so it is flat. Make sure to cover your whole head and eyebrows.
Wrap lots of masking tape round the tin foil whilst it is still on your head.
Gently remove the tin foil/tape thing from your head.
Draw lines across the masking tape and add registration marks.
Cut the foil/tape into segments
Transfer the shapes onto card or paper by tracing around the edges and cutting them out. Make sure to add an offset otherwise the dome will not fit on your head.
Transfer the shape outline to the foam and cut out.
Use hot glue to stick the foam parts together.
Use a hair dryer to carefully heat any raised or imperfect parts and gently hold them to the shape you want. Repeat the process until you have a well fitting foam helmet.
Step 3: Build the Blades
Print out the templates then cut them out and transfer them to the foamboard. Use a sharp knife to cut out the blades. My dimensions are only an approximation, feel free to use your own! The opaque plastic was glued to the foam board blades with a glue stick.
I have attached a Sketchup model if people want to 3D print the blades. I would recommend reducing the thickness of the blades if you are going to print them to reduce weight and improve the appearance.
They will be attached to to the servo horns supplied with the servos. More on that later...
Step 4: Install the Servos
First, remove the tab indicated in the photo, this will allow the blades to move up and down freely. Next remove all stickers from the servo body.
The servos are hot glued onto the foam dome. Make sure they are all orientated in the same way. I used some masking tape to mark the servos position first before committing to hot glue.Use the reference material to help you position them as best you can. Once you are happy with the servo positions glue the center servo on first and then work your way out to the ears.
I found that you don't need to be millimeter perfect to get great results!
Once they are glued down make a small incision and push the servo cable through.
On the inside of the headdress, you can make an incision through about half the thickness of the foam, the servo cable can then be pushed in and hot glued. This helps keep the wiring neat.
At this stage, you can run the servo test code to ensure they are all working.
I painted the servos white although I believe the original has black servos.
Step 5: Attatch the Blades to the Servos
It is a good idea to run the servo code with no horns attached to ensure they are all working. Once this has been verified extend the servos to the fully up position using the button attached to pin D2 and add the servo horns to each. Take the correct blade and gently press the servo horn end onto the foam board at a location that lets the blade stand up and sit squarely. Then make a small cut where the horn has made a dent and insert the servo horn through the hole. Test each individually in the up and down configuration to avoid clashes.You may need to alter the code or the positioning of the horn to get it perfect. Repeat this for each blade. Once you are happy with the position of the blade remove it and add a small amount of hot glue before reattaching it to the horn.
Step 6: Build and Add the Non Moving Segments
These are again cut from foam board and hot glued on the dome. Print out the templates or come up with your own designs! The opaque plastic will then be glued on top after the LEDs are installed.
Step 7: Add the Lights
A Note on Capacitors (Please read)
During my build I did not include a capacitor across the Neopixel power and ground wire, this was a mistake, please include one in your circuit to stop premature Neopixel failure. Please also include a resistor on the Neopixel signal line. Info on how to do this here.
ALERT! Please pay attention to the orientation of the LEDs, there should be arrows printed on the Neopixels.
Thisis is a big job! Ok now you need to solder the LEDs together, you can save some time here by using a reel of LEDs (144 LEDs per meter) rather than individual ones like I did. Strip the multicore cable and use the smaller wires to connect the LEDs.
Solder the LEDs to make a string that can then be woven through incisions made in the dome. Make sure the cables connecting them are long enough to let you do the weaving. Each segment and servo should have 2 incisions about 1cm long to allow the light string to go in and then out again.
It is a good idea to break this job into three parts, the front part of the dome, servo portion (middle) and rear part of the dome.Test each individually before moving on to the next string. Once each is working you can solder a connection to make one long string.
These are the lights for the non-moving segments on the front of the headdress. Use 3 single lights then 5 double lights and then 3 again.
These lights run along the top and back of the servos, my build uses two lights on top of the servos and one on the back although I think the original has 3 on the top.
In the pictures, these are made from a reel of RGBs rather than individual ones. I recommend using these strip lights for simplicity.
Once these parts are installed solder a connection together so you have one long string.
The eyes use a strip of the RGB LEDs. Each eye is made from 11 lights. They are mounted on a piece of foamboard glued to the edge of the foam dome. The front uses the same opaque plastic as in the blades. Each eye has power, signal and ground wires. They are connected in parallel with the main light circuitry. Mount a strip of opaque plastic in front of the lights to distort the light.
Step 8: Arduino Code
A Note on Capacitors (Please read)
During my build I did not include a capacitor across the Neopixel power and ground wire, this was a mistake, please include one in your circuit to stop premature Neopixel failure. Please also include a resistor on the Neopixel signal line. Info on how to do this here .
The lighting code is modified example from the Adafuit Neopixel Library, it cycles through different light animations and can be modified to suit your application.
Note: The way the LEDs have been wired here is not a flexible arrangement. If you would like to control the color of the eyes separately from the dome you will need to connect the pink signal wires to seperate digital Arduino pins and modify the code accordingly.
The servo code is controlled with three buttons. The first opens and closes the blades, the second causes a slow open and closing of the blades, the third is a sort of ripple effect.
Two Arduinos were used to allow the complex movements and lighting displays to happen concurrently. There are libraries that may allow you to use one Arduino for both but I have not explored them properly. I imagine you would run into trouble as the servo code uses For loops.
Step 9: Build a Controller and Battery Pack
The hand controller allows the user to control the blade movement discretely. Solder your buttons to the pegboard. Solder a length of multicore cable that will be long enough to reach to the back pack.
Batteries and Converters
The system runs at 5V and draws about 4A when fully moving and about 1.5A at rest with just the lights running. You need to be able to supply this current to the system otherwise, it won't work. I did use a small DC-DC buck converter which was running at the limit and got hot quickly. The LTC3780 is a much more beefy converter that will take your battery voltage and step it down to 5V and can supply the current for this project. I have had it running for extend periods of time without and heating problems.A 2s or 3s lipo battery is ideal for this. I'm using a 2200mah 3s at the moment but have used it with a 2000mah 2s without problems. Your battery does not have to be a lipo.
Top tip: To work out how much continuous current your battery can supply take its mAh rating and multiply it by its C rating. eg
2000mAh x 15C = 30,000mA or 30 amps.
Make this with some left over foam board or 3D print your own! The components were mounted on scraps to foamboard to act as a standoff. Attach a strap so that you can wear it as a back pack.
To distribute the power and signal lines as well as incorporate resistors etc you need to make a small distribution board. This could be done by making a custom PCB. A quicker cheaper and more fiddly route is to use protoboard. First, cut out a 4 cm square of protoboard with a Dremel. Solder two lines across the board, one for live and one for ground. These two lines will act like the live and ground lines on a breadboard. From here you can solder lines to give power to the Arduinos, buttons and servo driver board. Remember to include the 100ohm resistors for the buttons!
Step 10: Final Touches
You may find the headdress a little uncomfortable with all those wires on the inside. To make the thing more comfortable you can add strips of foam in places where cables are digging in. Your head will get quite warm when you wear it but there's not much you can do about that!
The blades are somewhat fragile, you could build a stand to display the headdress and keep it safe. Using some scaffolding and plywood you can build a display stand as shown.
That's it finished, now all you have to do is learn how to do the robot.
12 People Made This Project!
We have a be nice policy.
Please be positive and constructive.
I just found out that the helmet is an actual real life item instead of special effects and now I'm obsessed with having one, ideally making one myself, so I'm very happy to have found this guide! Thank you for sharing it!
I wanted to ask you about the feasibility for me to build this. I am good with my hands and have a little experience with electronics and programming. I have no experience with arduino. Do you think this is somewhat possible for me to attempt?
Also, I saw an interview with JayKay where they talked about the helmet and the original version is almost completely self contained with only a small wire or some small wires going to what seems to be just a small remote. Any idea how this might work with regard to the electronics and power requirements?
And final question, in the video at the start of the guide (which I assume is your helmet) I see your design is capable of light- and movement patterns. Is that incorporated in this guide? Because reading through it I see one general connection of the servo's and the three individual LED groups, so I'm wondering if the patterns shown in your video are possible with the setup in the guide.
If you have the patience to answer these questions thank you so much! And otherwise thanks anyway for the guide!
The helmet is a challenging build for sure, there are lots of soldered joints and fiddly tasks to contend with. Mine is delicate and pretty uncomfortable, it is really a prototype, it is not perfect in any way but I thought I'd share the plans to help others start building one. I just wanted to see if I could build one!
Jay Kay's has a different wiring configuration. Others have built helmets using this instructable (see in the comments) and have managed to include the electronics in the helmet. By changing the wiring of the servos power and ground cables the number of wires sticking out the back can be reduced.
The video is of my helmet, it uses servos and lights simultaneously. I did this using two arduinos, one for servos one for LEDs. My lighting circuit is rudimentary in that one connection controls the dome lights and the eye lights at the same time. That is you cant control the eyes separately. I am informed by the friendly folks on the Arduino forum that it is possible to control them separately if you rework the code.
There are loads of guides on Arduino to help you tweak the code. If you want to make one then that's great! Just be aware this is an involved build, you'll have to solve some problems along the way and improve on the design but the results are worth it!
Btw before I found this instructable I studied the helmet using screencaptures and official photographs on Waldemeyers website. I'll show you the shape I drew of the wings based on those images, maybe someone profits from it!
Ofcourse there are a couple of different sizes, I focussed on one of the long ones and found that from left to right it is divided in three equal sections. The top horizontal part and bottom horizontal edge are the same length (x). That same length x extends to the left end to the right and dictates how far the bottom slanted edges extend outward (so the slanted edges are not x themselves, but their projected length on the horizontal plane is x). I have no precise idea on the corner they make but I think it's about 45 degrees. The slanted edges of the upper part of the wing just connect between the upper horizontal edge and the end of the bottom slanted edges and is I think the main difference between longer and shorter wings.
I hope this is useful for someone.
I managed to integrate the elettronics in the hat , now only the button and power wires exit from the helmet.
I tried to use 4 AA enelop battery for power it , but the ampere supplied isn't enough during servo movements, I'll try to use 6 of them with a buck converter .
Now I have 100 leds , and I have to add the eyes. If I add the number of led in the eyes can you tell me if the color of the leds will be coordinate between eyes and helmet or I'll have to rewrite the code ( I am still studing it , I am quite noob regarding arduino coding.)
I was reading this article about using three button for 6 functions, would be grate to add more servo patterns
I finally finshed mine, I'll post a video ASAP , I have problem with servo timing in wave mode.Have you a map of the connections? I connected the blade from left to right from 1 to 15 but it seems wrong for me .
Congrats! It's a long build for sure! Would love to see how the 3D printed parts worked out.
I found the problem I simply switched 2 wires , now works perfectly