Iron Man Arc Reactor

The Arc Reactor is (in my opinion) one of the coolest pieces of Sifi tech to come out of the comics / movies ever. Not only is it a useful device for powering things like armed suits, it also just looks awesome. This is probably why so many people make there own copies. I know this is the reason I made mine.

I am a huge Iron Man fan and around three years ago, for halloween I wanted to have my own arc reactor chest piece to wear while walking around.I went to my inhouse design expert (read: dad) and we started drawing up the plans for how our reactor would look and go together.

I thought I had more pictures from when we were designing and building the chest piece but this was a long time ago and the following are all I was able to find. In the first image you can see the drawings that everything was based on and some of the parts before it all started going together.

This slideshow requires JavaScript.

The first version of the electronics that made the reactor tick were very simple. All there was to it was a nine volt battery, LM317 and some blue LED’s. The LM317 brought the voltage down from nine volts to a voltage that would run the LEDs. This was not a very efficient design but it did work and let the lights run for a good few hours. I was still in the school when I came up with the design and was very proud of what I made and I had kept this setup all the way up until last year (2014). For Comic Con 2014 I wanted to wear my arc reactor to show off to the world and I wanted to make it better.

For starters I wanted better battery life and efficiency. The nine volt did work but only ran for a about four hours before the brightness would go down and because of that, it wasn’t well suited for a long convention like Comic Con.I was using a linear regulator, dropping the voltage down was producing a lot of wasted heat. It wasn’t too bad and infact on cold nights was kind of nice, it’s not what I really wanted. What I decided to do was replace the LM317 with a microcontroller and PWM the LEDs.

I chose the Adafruit Trinket as I didn’t need a lot of power and I had a few laying around. The plan was to have the Trinket drive a MOSFET which would then light the LEDs and being I was using PWM I also wanted to add some effects to the lights. I made the circuit and tested it out then I added additional features to my chest piece. What I did was make it so when you turned the power on, the Arc reactor would fade from off to full power and then dim. While sitting idle it would slowly pulse from around 50% to 70% power. I also added a button that when pressed, would take the lights to full power, simulating full load on the reactor.

The circuitry and four AA batteries that run the reactor are stored in a Altoids tin with the power switch and full power button mounted to the outside. The tin is also painted back to help blend in when inside my pocket.

Over all I am very happy with how the project turned out and whenever I wear it, it always turns heads. Last year and this year (2014-15) I wore the chest piece to New York Comic Con and got a lot of attention for it. There were a few other Arc Reactors but not as many as you would think for how popular Iron Man is and most of them were pre made units. While walking around the show I got a lot of compliments and even had my picture taken a few times. As a maker, nothing feels better then getting that kind of warm reaction from people towards a project that you’ve made and seeing the enjoyment it brings to others.

Here are some pictures of the Arc reactor and its circuitry, along with a video of power up and it glowing.

This slideshow requires JavaScript.

I would like to dedicate this article to my good friend Burt, who is the machinist who milled all of the aluminum for my Arc Reactor and has helped make so many of my crazy ideas come to life. He is an extremely gifted man and I am very grateful for all that he dose. Thank you.

 

While its not the best written code, here is the code running on the Trinket:

 

/*
 Iron Man Arc Reactor controlled by an Adafruit Trinket 
 Written by Mario Avenoso of Mtech Creation.

This code is public domain. Have fun
 */

int idle_min = 45;
int idle_max = 150;
int fade_amount = 1;
int delay_time = 20;
int ledPin = 0;    // LED connected to digital pin 9

void setup()  { 
  // nothing happens in setup 
  pinMode(ledPin,OUTPUT);
  pinMode(2,INPUT);
  digitalWrite(2,HIGH);
   for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=fade_amount) { // sets the value (range from 0 to 255): analogWrite(ledPin, fadeValue); // wait for 30 milliseconds to see the dimming effect delay(delay_time); } delay(2000); for(int fadeValue = 255 ; fadeValue >= idle_min; fadeValue -=fade_amount) { 
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);         
    // wait for 30 milliseconds to see the dimming effect    
    delay(delay_time);
  }
} 

void loop()  { 
  
  if(digitalRead(2)==LOW)
  {
    for(int fadeValue = idle_min ; fadeValue <= 255; fadeValue +=fade_amount) { // sets the value (range from 0 to 255): analogWrite(ledPin, fadeValue); // wait for 30 milliseconds to see the dimming effect delay(5); } while(digitalRead(2)==LOW); for(int fadeValue = 255 ; fadeValue >= idle_min; fadeValue -=fade_amount) { 
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);         
    // wait for 30 milliseconds to see the dimming effect    
    delay(delay_time);
    }
  }
  
  
  // fade in from min to max in increments of 5 points:
  for(int fadeValue = idle_min ; fadeValue <= idle_max; fadeValue +=fade_amount) { // sets the value (range from 0 to 255): analogWrite(ledPin, fadeValue); // wait for 30 milliseconds to see the dimming effect delay(delay_time); } delay(20); for(int fadeValue = idle_max ; fadeValue >= idle_min; fadeValue -=fade_amount) { 
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);         
    // wait for 30 milliseconds to see the dimming effect    
    delay(delay_time);
  }
  
}
Arduino, Hardware, Other , , , , , , ,

Leave a Reply