Iron Man costumes have been extremely popular lately and the number one question I am most often asked is "How can I add animatronics to my suit?" My friend Greg wanted to add animatronics to his MkIII fiberglass suit so he asked for my help and for this suit we went all out.

We wanted to add as many functions as seen in the movies as possible, which wasn't easy given that most of those sequences were not done using practical effects. The other issue was how should all of the functions be actuated? After considering several options we used RFID tags in the gloves to trigger the shoulder rocket pods, hip pods, forearm missile, back flaps and helmet. The helmet has wireless control via XBee radios. The boots light up and make sound while walking by using an infrared distance sensor in the boot to trigger the effect.

Here's a video that shows all of the suit functions-

This is certainly not an easy project but if you know your way around an Arduino and can wield a soldering iron this instructable will show you how to do it.

Be sure to click on any picture to get a larger version.

Update: I've also created an animatronics forum where people can go to get help with their costume and prop projects. I get so many messages for specific project help from people that I decided to create a dedicated forum where everyone can get help and share ideas!

Let's get started!

Step 1: Build Design/details

The suit is basically broken down into three systems: left side, right side and boots.

The left hand has two RFID tags that trigger programmed sequences for the helmet, hip pods and back flaps. The right hand RFID tags trigger programmed sequences for the forearm missile and shoulder rockets. The boots have an infrared sensor that triggers the boot lights and sound effect as soon as the boot is lifted from the ground.

The single most difficult thing about this build is that the suit fits like a glove- there's no room in it! The helmet has less than 1/2" of space around the head, there's about 1" depth for the shoulder rocket pods and the hip pod area has less than 1" depth available so the packaging of the mechanics and electronics is really tight. Another issue is that there's almost no flat surfaces so mounting servos and hardware gets really interesting.

The system is Arduino based and uses four ProMinis- one for each side, one for the boots and one in the helmet. Since we wanted the helmet to be easy to take on and off we decided to make it wireless using XBee radios to send the control signals. For the point to point wiring running from the electronics mounted in the back to the arms and feet we used Ethernet cables and jacks so they could be easily disconnected. The sound effects for the boots are handled by a WaveShield that sits on a Arduino Pro.

If you are not familiar with Arduino and XBee radios then please read through this instructable. It will explain a lot of the basics and you'll be up and running in no time!

Another issue with systems like this are the different voltage and current requirements so we thought it best to power the servos separately using AA batteries, primarily for ease of availability if the suit is to be worn at conventions.

That is awesome
<p>That's awesome. If you make another one, make it a bit bigger and stuff in the Air Muscles you made. The Iron Man suits made him stronger, didn't they? :)</p>
<p>Could you demonstrate in a video how the RFID gloves trigger the various components? Thanks! Amazing job!</p>
Sorry but I can't as the suit is now with it's owner- I don't have it anymore! If I get a chance maybe I'll do a video about using RFID tags on my YouTube DIY Animatronics channel.
Thank you so much for your quick reply. I would be interested in an RFID video and also where you sourced the tags. Thanks again!
<p>The tags are available from Sparkfun- </p><p><a href="https://www.sparkfun.com/products/9417">https://www.sparkfun.com/products/9417</a></p><p>They're really neat and surprisingly easy to use.</p>
<p>Excellent post, I agree with you 100%! I&rsquo;m always scouring the Internet for new information and learning whatever I can, and in doing so I sometimes leave comments on blogs. I don&rsquo;t do it for SEO purposes necessarily, but to learn new things. http://naga-poker.com/</p>
<p>I am an ironman fan. The tutorial is great. One suggestion, can you explain the step a little more clear. Also how much did the materials cost? Great job and i wish you luck on future projects.</p>
Which step do you need help with? I honestly don't know the entire materials cost- but it's certainly not an inexpensive project! With twenty servos there's a few hundred dollars in servos alone.
<p>this is awsome</p>
How much?
Sorry it's not for sale!
<p>Hello to you.</p><p>Here is I explain to you I am French I do not speak English thus I is of use to me d a translator.<br>Your armor is completed but me understands(includes) absolutely nothing then you m can help because I am an enormous fan of iron Man.<br>Your helmet(headphones) is magnificent.!</p>
<p>Honus, I have my helmet operational, but my servo gets really hot. The battery packs I made (just like yours) were giving it almost 8 volts and I thought that might be the problem, but if I cut the batteries to only 5, there isn't enough juice to lift the faceplate. I'm wondering if the servo load is too much for it while it is holding it open and perhaps if I move my pivot point back and make the arm longer it will take some of the load off. Your thoughts?</p>
Most high voltage servos can safely handle an unregulated 2S LiPo, which can put out 8.4V so I doubt the voltage issue is your problem (provided you are using a high voltage servo.) <br><br>Is the servo stalling? If so then that would definitely explain it. You might try adjusting the throw of the servo arm in the code. If the servo arm is still trying to move when the faceplate is all the way up then that would certainly cause your problem.<br><br>What model servo are you using and how much does your faceplate weigh? Is there a lot of friction in the hinge mechanism? Making the servo arm longer would increase the load on the servo.<br><br>If you could post a photo showing the length of your servo arm and how the linkage is set up that would be a big help in troubleshooting it.
<p>OK I think I have this fixed. There may have been some twisting of the servo arm in the open position which probably created problems. I cut the arm shorter and couldn't get enough rotation to tuck the faceplate back into position so I tried making it longer. Length from servo screw to pivot point is now 3&quot; versus original 2.5&quot;. I also made an aluminum mount for the servo which is JB Welded to the faceplate and I'm using a reusable velcro tie for cables to hold it in place. Part of the issue on the overheating I think was the fact that the dual lock velcro just wasn't keeping the servo in place. After installing the aluminum servo mount the servo wouldn't clear the overhanging center piece so I sanded that back about 1/8&quot; inch. I also repositioned my pivot point on the helmet, placing it about 3/4&quot; further back on that overhang. I kept the batteries the same (6 rechargeable AA wired in series), increased the DBW to it's max of 16 so it wouldn't work so hard searching for the center point, set OLP rate to 20%, and the speed to 15. Then I left it turned on and in both open and closed positions for about 10 min and got no hum or overheating. Also found metal speaker cover to go over the mini fan I put in the top of the helmet (still deciding whether or not I'm going to use it). Fingers crossed...</p>
<p>Cool- glad you got it worked out! It's interesting that you have the dead band width set to the highest level as I've had better luck turning it down. One thing I've done with the high strength Velcro is once I figure out where everything needs to be positioned I'll superglue the Velcro to reduce the amount of play in it. </p>
I'm using the same servo you did (Hitec HS-7245MH). The servo arm is about 2.5&quot; long from the servo screw to the &quot;hinge.&quot; It's set up pretty much like the one you did for Greg. I have the HFP-25 servo programmer and used it to find what I thought were good settings for the open and closed positions, but the servo does occasionally chatter at both open and closed positions. You can hear it on the video I when the faceplate is closed. It seems to move smoothly when I open and close it manually, though the industrial strength velcro doesn't always keep the servo attached. Not sure why some of the images are sideways.
<p>Since you have the servo programmer try reducing the dead band width to the minimum amount. I think what may be happening is the servo is trying to hold that exact position while under load and that is what is causing the extra power consumption. </p>
<p>OK. I'll try that. I've never messed with the overload protection rate but wonder if I need to to that as well? If so, what would you suggest as a value in that 10-50% range? As of now it is off.</p>
<p>It's certainly not a bad idea as it can prevent the servo burning out if you were to stall it. You can play around with the values but I'd probably start at around 20%.</p>
<p>This is sick!!! Nice job man!!!</p>
<p>How much did it cost?</p>
I honestly never added up the cost of all of the parts for the animatronic system. The cost could range from several hundred to over $1000, depending on what materials and tools you have on hand.
<p>Totally epic. I love that you made this animatronic.</p>
<p>Hi Honus, </p><p>I forgot to put this on here, but I manage to finish the helmet in time for Halloween. Here's the wireless helmet working: http://instagram.com/p/u1NE-3JAGx/?modal=true . Thanks for the awesome instructable!</p>
<p>Is there any chance that you could up load video of the suit in action while being worn? Looks great on the bench but can it be done and controlled while wearing it on stage?</p>
Once my friend has finished repainting the suit there will be a new video of him wearing it and operating all of the suit functions. The animatronic system was designed so everything can be operated while he is wearing the suit- we had multiple test fitting sessions in order to make sure everything would fit and operate properly.
Hi there<br>How much would it cost me to get you to constuct a suit for me please ?<br>Regards<br>Eddie Cruz from the UK
Sorry but I don't sell them!
<p>do you think that the designs from https://www.instructables.com/id/IRONMAN-2-suit-mark-6/ will be able to work just like your suit , like if I make the pieces from this other instructable, could I take the electronics from your instructable to make one just like yours?</p>
I think most of it would work but honestly it's hard to say just by looking at the photos. I think the hip pods would be tough to do since there's not a lot of support material around them from what I can see. The real trick is making the suit and helmet rigid enough so you need to reinforce the inside of the suit and helmet with woven fiberglass cloth.
<p>Thank you, i'll try it. I'm doing this for a school project</p>
<p>Hi Honus, </p><p>I wanted to share the code with you for the 3v arduino. This code allows the user to swipe their rfid once to get their helmet to open, then swipe it again to close it. Credit goes to Wildbill from Arduino's forum for the help :): </p><p>#include &quot;Servo.h&quot; // include the servo library</p><p>Servo faceplateServo;</p><p>Servo chinServo;</p><p>int ledPin1 = 4; // control pin for LED eyes</p><p>int servoPin1 = 2; // control pin for face plate servo</p><p>int servoPin2 = 3; // control pin for chin</p><p>bool FacePlateOpen=false;</p><p>void setup() </p><p>{</p><p> faceplateServo.attach(servoPin1); // attaches the servo on pin 2 to the servo object</p><p> chinServo.attach(servoPin2); // attaches the servo on pin 3 to the servo object</p><p> faceplateServo.write(30); // rotate face plate servo to 30 degrees</p><p> chinServo.write(95); // rotate chin servo to 95 degrees</p><p> pinMode(ledPin1, OUTPUT); // sets the LED pin as output</p><p> digitalWrite(ledPin1, HIGH); // turn on LED eyes</p><p> Serial.begin(9600);</p><p>}</p><p>void loop() </p><p>{</p><p>// look for a capital A over the serial port and turn off LED</p><p>if (Serial.available() &gt; 0) </p><p> {</p><p> if(Serial.read() == 'A') </p><p> { // reads tag over XBee</p><p> digitalWrite(ledPin1, LOW); // turn off LED eyes</p><p> delay(500); // wait half a second</p><p> FacePlateOpen=!FacePlateOpen;</p><p> if(FacePlateOpen)</p><p> {</p><p> chinServo.write(20); // rotate the chin servo to 20 degrees</p><p> faceplateServo.write(95); // rotate the face plate servo to 95 degrees</p><p> }</p><p> else</p><p> { </p><p> chinServo.write(95); // rotate the chin servo to 95 degrees</p><p> faceplateServo.write(30); // rotate the face plate servo to 30 degrees</p><p> }</p><p> digitalWrite(ledPin1, HIGH); // turn on LED eyes</p><p> }</p><p> }</p><p>}</p>
<p>Awesome! Be sure to post a video of your helmet working!</p>
<p>Hi Honus, </p><p>I have a question regarding the face servos. I've created the left side and helmet set up. When I place my rfid chip to the reader, I see a red light turn on on my helmet xbee yet none of my helmet servos seem to move. Would you have any ideas why that might be? Thanks!</p>
Have you tried operating the servos outside of the helmet? Do the servos make any noise or chattering sound?
<p>I have the servo programmer, and the servos work with that. When I connect them to the pins they do make a little noise. It's almost like they are constantly making tiny adjustments. When I stick my rfid to the reader, it's hard to tell if the movement is tiny, or if it's just noise. </p>
<p>It sounds like the servos don't share a common ground with your Arduino. Is the RFID reader working- can you see the reader working if you connect the Arduino to a computer and open the serial monitor?</p>
<p>When I turn on the serial port I see the first 7 numbers of my RFID tag ID pop up when I put my RFID near the reader. The ground to my servo is connected to the ground of the battery. My Arduino is also connected to that same ground slot on my breadboard. The batteries are 6 AAA connected in a circuit. </p>
<p>That's strange. When viewing the serial monitor you should see the letter 'A' every time you swipe the RFID tag- that's what is in the code. The serial output is sent over the XBee radios and the letter 'A' is received on the helmet side and then the helmet code is run. </p>
<p>I reconnected all my wires and I manage to make the servo move when I place my tag by the reader. The only issue it has now is that it repeats the open close cycle about 3 times lol. Any suggestions for that? Thanks again for all the help Honus! </p>
<p>Are you keeping the tag near the reader or only swiping it once? If you're only swiping it once then check through your code again as it would appear it is repeating the loop. Sometimes when you copy and paste code strange things happen and it doesn't get copied exactly line for line.</p>
<p>Hi Honus I found out the problem. I left the tag on the reader for a couple seconds, which sent the code over multiple times. If I do a quick swipe it goes through the cycle only once. Out of curiosity is it possible to have the same tag open it and keep it open, and another swipe to close it?</p>
<p>Cool- glad you figured it out! I believe you could do that as it essentially would work the same as the push button example where you push it once to open it and then push again to close it. Unfortunately I haven't done anything like that with RFID tags.</p>
<p>I turned on the serial monitor from the Arduino again and this popped up. I don't see my ID tag like last time, just commas every time I put my tag by it. The red led turns on still though on the xbee connected to the other arduino. </p>
<p>how much would all of this cost to make, and what would be the cost for you to make it for me and shipping? just a thought I would really like to have one.</p>

About This Instructable




Bio: I'm a former bicycle industry designer turned professional jeweler. I like working with my hands and am happiest when I'm in the shop ... More »
More by Honus:Bandsaw stand from scrap lumber Stargate helmet animatronics Hand fabricated engagement ring 
Add instructable to: