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.