You don't need to be an engineer. Here's the exact wiring, parts, and Arduino code for each piece of the suit — from zero to glowing in an evening.
The electronics are what turn a pile of grey plastic into something that looks like it actually works. Getting the helmet eyes to glow, the arc reactor to pulse, and the repulsor to light up on demand — those are the moments that make the whole project worth it.
This guide covers every electronic component in the IronBuilds MK85 suit, starting with the simplest options (pre-made modules, plug and play, no soldering) and building up to the custom Arduino builds for movie-accurate effects. You don't need to start at the complex end — the pre-made routes produce great results and you can always upgrade later.
All three pieces are covered below: the helmet LED eyes, the repulsor glove palm LED, and the chest arc reactor. Jump to whichever section you need.
The most asked-about part of any Iron Man build. Two routes depending on how much control you want.
The MK85 eye gaps are shaped specifically to hold LED light sources. When they glow, everything else about the helmet falls into place. This is the electronics addition that makes the biggest visual difference for the least effort.
Purpose-built Iron Man eye LED kits. Slot in, connect battery, glow. Zero wiring knowledge needed.
WS2812B LEDs + Arduino Nano. Full colour control, startup sequences, and custom animations.
| Part | Spec | Approx. Cost | Notes |
|---|---|---|---|
| WS2812B LED strip | 60 LEDs/m, cut to eye shape | ~£8 | Buy → |
| Arduino Nano | Clone version works fine | ~£4 | Buy → |
| 18650 battery | 3.7V, 2500mAh+ | ~£5 | Buy → |
| 18650 holder | Single cell, with leads | ~£2 | Fits in the neck section |
| TP4056 charge board | Mini USB, 1A | ~£2 | For recharging in place |
| 100Ω resistor | For data line protection | <£1 | Include in the data wire to LEDs |
Tip: The 100Ω resistor on the data line is often skipped in tutorials but it's good practice — it protects the first LED from voltage spikes when the Arduino powers on. Takes 30 seconds to add and can save a strip.
Copy this into Arduino IDE. Requires the FastLED library (Sketch → Include Library → Manage Libraries → search FastLED).
// Iron Man Helmet — Eye Startup Sequence // WS2812B on pin 6, Arduino Nano // Flickers on, then settles to steady glow #include <FastLED.h> #define NUM_LEDS 8 // adjust to your LED count per eye #define DATA_PIN 6 #define HUE_BLUE 155 // change to 0 for red, 64 for warm white CRGB leds[NUM_LEDS]; void setup() { FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS); delay(500); startupSequence(); } void startupSequence() { // Flicker phase — 1.5 seconds for (int f = 0; f < 12; f++) { int bri = random(20, 160); fill_solid(leds, NUM_LEDS, CHSV(HUE_BLUE, 200, bri)); FastLED.show(); delay(random(30, 150)); } // Ramp to full brightness for (int b = 0; b <= 220; b += 4) { fill_solid(leds, NUM_LEDS, CHSV(HUE_BLUE, 180, b)); FastLED.show(); delay(8); } } void loop() { // Steady glow with very subtle pulse float pulse = sin(millis() / 2000.0) * 15 + 210; fill_solid(leds, NUM_LEDS, CHSV(HUE_BLUE, 180, (int)pulse)); FastLED.show(); delay(20); }
A single high-power LED in the palm, triggered by a button in the index finger. Simple circuit, massive impact.
The repulsor glove is intentionally kept simple. One high-power white LED in the palm housing, one push button hidden in the index finger joint, one small LiPo battery in the back of the hand. When you press the button, the palm lights up. That's it. It works brilliantly.
There's no Arduino needed for the basic setup — this is a direct LED circuit with a current-limiting resistor. For a charge-up effect (where the LED gradually brightens before firing), an Arduino Nano can be added using the upgrade path below.
| Part | Spec | Approx. Cost | Notes |
|---|---|---|---|
| High-power LED | 3W, cool white, 6000K | ~£3 | Fits the MK85 palm housing |
| LED driver module | Constant current, 3W | ~£3 | Prevents LED burnout |
| Push button | Tactile, 6×6mm | <£1 | Fits inside finger joint channel |
| LiPo battery | 3.7V, 500mAh, flat pack | ~£5 | Slim enough for back-of-hand housing |
| TP4056 charge board | Mini USB, 500mA | ~£2 | USB charge port in wrist section |
Always use a current-limiting LED driver with a 3W LED — a raw 3W LED connected directly to a LiPo will draw too much current, overheat, and fail quickly. The driver module costs about £3 and makes the circuit bulletproof.
Replace the basic circuit with an Arduino Nano and a PWM-capable MOSFET for a slow charge animation followed by a full brightness burst on button press.
// Repulsor Charge-Up Effect // Arduino Nano, MOSFET on pin 9 (PWM), button on pin 2 const int ledPin = 9; const int btnPin = 2; void setup() { pinMode(ledPin, OUTPUT); pinMode(btnPin, INPUT_PULLUP); } void loop() { if (digitalRead(btnPin) == LOW) { // Charge up over 1.2 seconds for (int i = 0; i < 255; i++) { analogWrite(ledPin, i); delay(5); } delay(400); // hold full brightness analogWrite(ledPin, 0); // fire discharge delay(50); analogWrite(ledPin, 255); // back on delay(200); analogWrite(ledPin, 0); } }
A WS2812B LED ring with an Arduino breathing animation. ~20 lines of code, looks exactly like the films.
The arc reactor is the centrepiece of the whole suit and it deserves to be done properly. A 16-LED WS2812B ring fits perfectly in the MK85 chest housing, and an Arduino Nano running a sine-wave brightness animation produces the slow blue-white pulse that's instantly recognisable from the films.
This is actually a great Arduino starter project — the code is simple, the result is immediate, and the skills transfer directly to the helmet eye setup. If you're going to do one Arduino build on the suit, make it this one.
| Part | Spec | Approx. Cost | Notes |
|---|---|---|---|
| WS2812B LED ring | 12 or 16 LED, 52mm diameter | ~£5 | Buy → |
| Arduino Nano | Clone works fine | ~£4 | Buy → |
| Frosted acrylic disc | Cut to arc reactor diameter | ~£3 | Diffuses the LED ring into a solid glow |
| USB power bank | 5V output, slim profile | ~£10 | Powers the Arduino via USB — rechargeable |
| 100Ω resistor | For data line | <£1 | Same protection as helmet eyes |
// Arc Reactor Pulse Effect // WS2812B ring on pin 6, Arduino Nano // Smooth sine-wave breathing animation #include <FastLED.h> #define NUM_LEDS 16 #define DATA_PIN 6 CRGB leds[NUM_LEDS]; void setup() { FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS); FastLED.setBrightness(200); } void loop() { // Sine wave from ~40 to 220 brightness int brightness = (int)(sin(millis() / 1200.0) * 90 + 130); fill_solid(leds, NUM_LEDS, CHSV(140, 200, brightness)); // CHSV hue: 140 = blue-white, 0 = red, 64 = warm FastLED.show(); delay(15); }
Frosted diffuser: The WS2812B ring produces individual bright dots without a diffuser. Cut a disc of 3mm frosted acrylic to fit the arc reactor housing and the ring becomes a solid, even glow. This one change makes it look professional. Acrylic cutters on Etsy will cut custom circles to size for a few pounds.
If you want to do all three electronics builds — helmet eyes, repulsor, and arc reactor — this starter kit covers most of the components in one hit.
STL files for the suit are sourced from Printables and Thingiverse. All Arduino code uses the FastLED library which is free and installs in under a minute through the Arduino IDE library manager.