Introduction: Arduino Powered Headdress

Picture of Arduino Powered Headdress

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

Picture of Gather Your Materials


  1. 15 x 9-gram servos.
  2. 15 x 500mm servo extension leads
  3. 85 x Neopixel RGB LEDs
  4. PCA 9685 16-channel 12-bit PWM Servo Motor Driver
  5. 2 x Arduino Pro Mini
  6. FTDI to USB converter (to allow you to download code to the Arduino Pro Mini)
  7. 2-3 meters of equipment wire with 9+ cores ( I used 12 core)
  8. Protoboard (about 10cm x 10cm)
  9. 3 x 100 Ohm resistors
  10. 2 or 3s lipo
  11. 3x push buttons
  12. DC buck converter LTC3780


  1. White EVA foam, 10mm thick.
  2. 1x A1 Sheet of 5mm thick foam board
  3. 2x A4 sheets of opaque plastic
  4. Tin foil
  5. Masking tape
  6. Foam head
  7. 1mm thick foam (1 A4 sheet)
Estimated Parts cost is around £100.00


  1. Glue gun
  2. Soldering Iron
  3. Wire strippers
  4. Craft Knife
  5. Marker pen
  6. Scissors

Step 2: Build a Foam Dome

Picture of 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.

Step 1.

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.

Step 2.

Wrap lots of masking tape round the tin foil whilst it is still on your head.

Step 3.

Gently remove the tin foil/tape thing from your head.

Step 4.

Draw lines across the masking tape and add registration marks.

Step 5.

Cut the foil/tape into segments

Step 6.

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.

Step 7.

Transfer the shape outline to the foam and cut out.

Step 8.

Use hot glue to stick the foam parts together.

Step 9.

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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of Add the Lights


This 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.

Front Lights

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.

Servo Lights

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.

Rear Lights

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.

A note on Capacitors

According to the Neopixel online guide it specifies 1000uF capacitors on the live and ground lines and a 300-ohm resistor on the signal lines, I have omitted these in my build by mistake, it has not affected the lights in any way but you may want to add them to be sure on your build.

Step 8: Arduino Code

Picture of Arduino Code

The lighting code is modified example from the Adafuit Neopixel Library, it cycles through different light animations and can be easily modified to suit your application.

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

Picture of Build a Controller and Battery Pack

Hand Controller

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.

Back Pack

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.

Power Distribution

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

Picture of 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.

The End

That's it finished, now all you have to do is learn how to do the robot.


GregoireB1 (author)2017-10-17

I Calum, thank you for sharing your build!

Could you help me with switch part?

I got on/off switch, is that correct?

I'm not sure about circuit:

The plus cable comes from the LED to on side of the switch, and on the other side of the switch we have:

- the resistor->minus cable ->LED


- a cable to the arduino

Is it correct?

Thanks ahead.

jelath.O made it! (author)2017-10-14

I started 3D printing the fins a few days ago, i'm going to make two helmets for me and a friend, we'll be going to Jamiroquai's show in 'Het sportpaleis' in Belgium on November 11th. I'm going to try and make a model to 3D print for the helmet itself as well, don't know how that's going to turn out. ^^ Thanks for sharing all the models and templates!

patrickstare made it! (author)2017-10-09

Calum. Thank you so much for posting this project! I just finished mine today and it works brilliantly. I made some minor tweaks to your design, mainly because of my own technical limitations:

1) I used a KOOKYE Pro Micro USB for the LED chip instead of the Arduino Pro Mini, which made for easier uploads.

2) I crammed all of the circuits into the headdress.

3) I had troubles with the buck converter, so I went with a dual 5v USB phone charger for power.

4) I painted the entire thing (including the filters) with white foam spray paint to diffuse the LED more.

5) I tweaked your LED sketch so it had more colors and less flashing.

I posted a video on YouTube. Thanks again for sharing!

Fantastic work! It's surreal to see it recreated in real life, I'm glad I could help! Getting the electronics to fit inside the headdress is a major improvement, kudos!

mpinner (author)2017-09-25

So good. Thanks!

warpfactorfive made it! (author)2017-09-13

Thanks so much for the instructable! I used it as a starting point for my own build and it worked out great!

tginsandiego made it! (author)2017-09-13

Thanks so much for the instructable! I used it as a starting point for my own build -- I'll post info later :)

handsomejackuk (author)2017-04-26

great work on this.. love it... just a thought.. the led strips.. if they are ws2812b you can run just one wire and feed it to data in and data out and daisy chain them... also would it not be better to have the arduino in the helmet then you would only need the power to arduino, and the switch buttons and battery in the back pack.. you wouldnt have all those servo leads running down to the back pack.. it would all be contained... in the helmet... just a thought.. i would love to do this.. also.. digispark would be enough to run the leds, and a pro mini arduino to run the servos...

dummy0152 (author)handsomejackuk2017-08-29

i believe that would require 2 domes, the main from 10mm foam, and another made by 5mm foam for the wearer to get some "comfort".

dummy0152 (author)2017-08-25

the protoboard is for the buttons right? because if so i'm going to check *if* i can add 6 butons, 3 to move the blades and 3 for specific R-G-B on/off color pattern on the headdress (while keeping the random RGB demo from neopixel as a default). i don't know if the arduinos are going to handle it well, if they handle i'll add a LED On/Off button. might be cool moving the blades without the leds on.

one thing that i noticed through observation is that Jay's hat uses less cables and less eletronics, i believe it must be more expensive than your version.

theseans (author)2017-07-31

I've been having trouble with getting all my servos to move at once. 1-3 at a time they are fine. Anymore than that everything locks up.

Is it possible that I need to put a bigger capacitor on the servo driver?

calmac_projects (author)theseans2017-08-01

Yes, I think you are right, the current drawn from each servo spikes dramatically when they first start moving, multiply this by a lot of servos and your power supply may be failing to deliver the current. Try a larger power supply or perhaps try to reduce the speed at which you move each servo.

Also, make sure you have a ground wire connected to your Arduino ground and the external power source ground!! This has caught me out before!

theseans (author)calmac_projects2017-08-20

Ended up removing the 1000uF cap from the servo driver board and put a 2200uF and it fixed my issue with all the servos locking up if I tried to move them all at once.

Thanks again for the great tutorial.

calmac_projects (author)theseans2017-08-20

Glad you got it sorted!

baudlink (author)2017-08-12

I add the blades tomorrow and finish the last circuitry. Coming together pretty smoothly thanks to you calmac.

baudlink (author)2017-08-12

So close..

baudlink (author)2017-08-09

I am getting closer. Zig-zagging between the servo lights. Going to add other rows and eyes the next day or two.

With the help of my friend, he got both Arduino Pro Mini's loaded with the respective code.

Final blade installation, wiring and testing is left. Any pro-tips would be greatly appreciated. I'm trying to get this baby done in the next 5 days. :-D

calmac_projects (author)baudlink2017-08-10

Oh wow! Great work, very neat, I'm glad you got the sketches uploaded! You have the servos and lights installed, I found that the most challenging part, you're well on your way! The front and back LEDs are the same but a bit less complicated.

baudlink (author)baudlink2017-08-09

*** Also *** If you're having issues getting your sketch to upload and you're using a mac, there can be a conflict between the FTDI and the operating system. In OS X 10.9 they included a kernel extension that enables communication with FTDI devices. Unfortunately it does not seem to work well with Arduino. I've seen threads that say this issue was fixed as of 10.11, but I encountered it with both Sierra and the High Sierra public beta, both upgraded from earlier versions so YMMV.

Anyway, if you're getting a response that "stk500_recv programmer is not responding" the instructions to resolve it are here


Slight difference in the process if you're on OS X 10.11 El Capitan or newer, you'll need to boot into either your recovery partition or to a bootable partition on an external drive before you mess with the AppleUSBFTDI.kext.

As of 10.11, Apple has System Integrity Protection (SIP) enabled to keep malicious processes from screwing with your computer. You have to disable it before dealing with the drive issue. Once you've logged in (from either recovery partition or external drive) open terminal and type in "csrutil disable." Enter your password and hit enter. Should be quick. Restart and continue the process described in the link above.


baudlink (author)2017-07-25

Hey calmac! I appreciate all of your hard work on this. I am in the middle of my own rendition of it and have a few questions. The first is this... I have the arduino pro minis and breakout board loading on the sample codes just fine, but I'm having trouble loading the files provided in your guide onto the boards. Do you have any more detailed instructions on how to load the code into the Pro Minis from the Arduino software? Any help would be greatly appreciated!

calmac_projects (author)baudlink2017-07-26


Could you be more specific on your problem? When building mine I prototyped the circuits using an Arduino UNO, when I was sure I had the code correct I downloaded the code onto a pro mini. I highly recommend you do the same!

Pro minis need an FTDI to USB adapter to download the code onto them. ( I will add this component to the parts list!)
When using the pro minis make sure you have selected the right kind of board (Tools > Board > Arduino Pro Mini) and com port from the Arduino software.


baudlink (author)calmac_projects2017-08-03

Thank you so much for your support! Your guide is wicked awesome.. It's just a few details of processes in-between that I am having trouble with. I do not have an UNO. I do have the FTDI to USB adapter (Deek-Robot). From what I can tell, I have successfully loaded the LED sketch to one of the Pro Minis.. The servo sketch so far will compile, but when trying to upload to the other Pro Mini, it says it has connection problems. I do apologize, for I am mostly a noob at Arduino, but I so greatly appreciate any troubleshooting tips. Thanks calmac!

calmac_projects (author)baudlink2017-08-07

Hmm, what exactly does it say the error is? Does the servo sketch not upload to both nanos? Have you soldered any wires to the nano yet? Arduino can be fun and games at times!

TheAutomaton (author)2017-07-20

How you calculated the LED current at 17mA each? I'm making some Research for building one and according to Adafruit they consume from 20 to 60 mA

Hmm, my measurements were only rough, sometimes not all the lights are on at the same time which may lead to a slightly low 17mA.

kanasss (author)2017-05-03

I have myself this project in mind for some time and I see that your work is perfect.I think to copy it if you allow but believe you can go to the concert with this headdress and pass the security

GregoireB1 (author)kanasss2017-07-14

I was at a Jamiroquai concert last Sunday (North Sea Jazz, Rotterdam) a a member of the audience had one (not lighted or robotized though). It was pretty cool and Jay Kay made a nice comment about it!

That's awesome! To be honest it would be difficult at an actual concert with this thing, its a bit delicate!

Kharmeleon (author)2017-06-25

In which order are the LEDs on the helmet wired up? In order to get the code running properly it would be nice to know. Nice build you have there!

Rideable Entertainment (author)2017-06-18

this stuff reminds me on dragon ball like a super-saiyan. Looks pretty Dope

Technovation (author)2017-05-13

What an amazing idea, I expect quite some noise with all those servo motors spinning away!

HendoJ (author)2017-05-01

Pretty cool project!

Gimster (author)2017-04-25

Amazing! What is the voltage of the Arduino pro mini that you've used? 3 or 5v?

calmac_projects (author)Gimster2017-04-25

5V, everything runs on 5V.

TnmS (author)2017-04-17

how many hours have you been working on this project?

calmac_projects (author)TnmS2017-04-18

Hard to tell! It was a couple of evenings a week for about 6 weeks.

shadowjet80 (author)2017-04-18

This project is amazing. I have to agree with Scott. This would be pretty sick on a set of armor

CosmicB (author)2017-04-12

Vraiment incroyable!!!!!! Merci.

Eagleman117 (author)2017-04-11

Love It!!! You should add some speakers to it so when you talk it comes out sounding like a robot! It would be cool if when you looked up the spikes would go up and same with side to side!! 10/10 rating from me I do say so myself!!!

ScottR165 (author)2017-04-10

I'd love to use that as inspiration for a costume. Maybe creating blades that go down the arms or on a piece of armor. Is there a weight limit you think for the blades? I may use worbla so they are more sturdy.

Hmm the servos are untroubled with the blades I have,you could certainly go bigger. I think you can go up to a weight 9grams. Bigger blades would require more current as they're working harder, so that's something to be mindful of if you are using many servos.

The Science Brony (author)2017-04-08

This is TRON Lady Liberty. LIKED

ed.darby (author)2017-04-08

Simply awesome! Winner!

Fuzzy Monkey (author)2017-04-06


Akin Yildiz (author)2017-04-06

amazing work dude, respect.!! voted

mim_Armand (author)2017-04-06

This is awesome!

smartrem (author)2017-04-05

Great job

Ryan Whitsett (author)2017-04-05

Sweet dude!

watchmeflyy (author)2017-04-04

Nice execution! So many servos... great job with the build.

rainingfiction (author)2017-04-04

That's so cool!!!

About This Instructable




Bio: Design engineer based in Edinburgh Scotland with an interest in electronics.
More by calmac_projects:Arduino Powered HeaddressArduino Rocket Data LoggerSteam Punk Ammo Tin Nixie Clock
Add instructable to: