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.


🪖

Helmet — LED Eyes

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.

Route A — Pre-made Module Easy

Purpose-built Iron Man eye LED kits. Slot in, connect battery, glow. Zero wiring knowledge needed.

  • No soldering required
  • Ready in under 20 minutes
  • Steady glow, on/off switch
  • ~£8–15 on Amazon
  • Can upgrade to Arduino later

Route B — Arduino Custom Medium

WS2812B LEDs + Arduino Nano. Full colour control, startup sequences, and custom animations.

  • Movie-accurate startup flicker
  • Custom pulse and glow effects
  • ~£15–25 in parts
  • One evening to set up
  • Reusable skills for arc reactor too

Parts List — Route B (Arduino)

PartSpecApprox. CostNotes
WS2812B LED strip60 LEDs/m, cut to eye shape~£8Buy →
Arduino NanoClone version works fine~£4Buy →
18650 battery3.7V, 2500mAh+~£5Buy →
18650 holderSingle cell, with leads~£2Fits in the neck section
TP4056 charge boardMini USB, 1A~£2For recharging in place
100Ω resistorFor data line protection<£1Include in the data wire to LEDs

Wiring Connections — Helmet Eyes

Arduino 5V pinWS2812B VCC
Arduino GND pinWS2812B GND
Arduino D6 pin100Ω resistor → WS2812B DIN
18650 positive (+)Arduino VIN pin
18650 negative (−)Arduino GND pin
TP4056 BAT+ / BAT−18650 positive / negative

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.

Startup Flicker Code

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);
}

🤚

Repulsor Glove — Palm LED

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.

Parts List — Basic Circuit

PartSpecApprox. CostNotes
High-power LED3W, cool white, 6000K~£3Fits the MK85 palm housing
LED driver moduleConstant current, 3W~£3Prevents LED burnout
Push buttonTactile, 6×6mm<£1Fits inside finger joint channel
LiPo battery3.7V, 500mAh, flat pack~£5Slim enough for back-of-hand housing
TP4056 charge boardMini USB, 500mA~£2USB charge port in wrist section

Wiring Connections — Basic Palm LED

LiPo positive (+)Push button (one leg)
Push button (other leg)LED driver input (+)
LED driver output (+/−)LED (+/−)
LiPo negative (−)LED driver GND
TP4056 charge portLiPo BAT+/BAT− pads

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.

Upgrade: Charge-Up Effect with Arduino

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);
  }
}

Chest — Arc Reactor

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.

Parts List

PartSpecApprox. CostNotes
WS2812B LED ring12 or 16 LED, 52mm diameter~£5Buy →
Arduino NanoClone works fine~£4Buy →
Frosted acrylic discCut to arc reactor diameter~£3Diffuses the LED ring into a solid glow
USB power bank5V output, slim profile~£10Powers the Arduino via USB — rechargeable
100Ω resistorFor data line<£1Same protection as helmet eyes

Wiring Connections — Arc Reactor

Arduino 5V pinWS2812B ring VCC
Arduino GND pinWS2812B ring GND
Arduino D6 pin100Ω resistor → ring DIN
USB power bankArduino Nano USB port (or VIN if 5V regulated)

Arc Reactor Pulse Code

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


Everything You Need in One Order

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.

Complete Beginner Electronics Starter Kit
Arduino Nano, LEDs, resistors, breadboard, and jumper wires — everything to follow this guide without a separate order for every component.
View on Amazon →

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.


What's Next