Wearable Arc Reactor
This Arc Reactor is a fully customizable under-the-shirt prop. It looks authentic, it is cheap to make, and it makes a great last-minute costume. As an added bonus the Trinket Pro can be programmed to make the Arc Reactor light up in different colors and patterns.
Supplies
- 6 LEDs from a programmable light strip (Neopixels etc.)
- Standard Wire
- Old USB Cable (Ideally long enough to reach from your chest to your pocket)
- Small Powerbank
-Trinket Pro 5v
- Foam Board or Cardboard
- Diffuser (Tissue Paper, Clear PLA, Sanded Plexiglass)
- PLA or PETG Ideally in gray
- Elastic Band for the Harness
For tools, you will need the following:
- Soldering Iron
- Hot Glue Gun
- Wire Strippers
- Exacto Knife
- 3D printer
- Sewing Machine
- Ideally, some Helping Hands to help you solder
3D Print Your Piece(s)
This is by far the most time-consuming part of the entire project so you will want to get this going while you work on some of the other parts of the Reactor. I used a file by Thingiverse user R2Droid2. I printed only the top part and skipped the back, if you have clear PLA you should also print a Light screen. I would recommend printing the Reactor out of gray or silver PLA.
https://www.thingiverse.com/thing:3579932/files
Create Your Harness
This will be what keeps your reactor from falling off and causing panic as the shards of metal in your heart begin to circulate. First off you need to measure your chest, once you have that dimension you should cut a piece of elastic band to that length and sew it into a circle. Once you have stitched the bottom part of your harness, slide it over your head and situate it on your chest. Once you have done that, measure the elastic band length to go over your shoulder and attach it to the front and back of the chest piece. Repeat for the other shoulder and you should have a harness to hold up your reactor.
One note: When stitching your elastic you should always stitch a rectangle with an X through it (As shown above) for maximum strength.
Prepare Your Reactor for Electronics
Once your reactor is done printing you will need to add in a diffuser to make the LEDs less conspicuous. I used 3 layers of tissue paper. After, you need to cut an insert out of cardboard or foam board to house your electronics. Once you have made the insert, poke a hole in the upper left-hand corner. I recommend adding material along the edges to keep the circuits off your chest. When you have completed this step you will be ready to create your circuit.
Making Your LED Triangle
While this circuit is easy to make it can be tedious to do some of the more precise soldering. if you struggle with soldering I recommend that you watch a video on becoming more precise. With that out of the way the first thing that you will want to do is turn your light strip into a triangular shape. For this, you will want to cut 3 sets of 2 LED sections and arrange them on your insert to get a feel for how long your wires will need to be. Next, you will need to solder wire lengths that match the angle of the strips, this can be very difficult so take your time and work carefully. With your triangle closed on 2 of its corners, you will want to solder 1 1/2 inch wires to one side of your triangle and run them up through the hole you made earlier.
Wiring to Your Trinket and USB
With your triangular LED strip completed, you will need to make yourself a power cord, to do this take your old USB cable and cut off the non-USB end. Once you have cut this you will need to strip back the outer casing of your wire and reveal the black and red wires inside, you will need to strip those wires as well. At this point, if this cord does not reach from your chest to your pocket, add wire so that it does reach. With that completed, you will want to twist the black wire of the USB cable to the ground wire from your LEDs. You will need to twist the red wire to the 5v wire from your LEDs. Once both of these connections are made you will need to solder another 1-inch length of wire onto each of these connections. Once these 3-way connections are done you will be ready to solder all of your wires to your trinket. First, solder your ground wire to the G pin, then solder your 5v wire to, you guessed it the 5v pin. Lastly, just take the wire coming directly from your LEDs and solder it to pin 4.
Programming
If you are using a Trinket Pro 5v you should be able to copy the code exactly. If you haven't already you will need to install the Neopixel Library in Arduino IDE If you are having any problems make sure that you have adjusted this line to your LED strip type:
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
#include
#ifdef __AVR__ #include // Required for 16 MHz Adafruit Trinket #endif
// Which pin on the Arduino is connected to the NeoPixels? // On a Trinket or Gemma we suggest changing this to 1: #define LED_PIN 4
// How many NeoPixels are attached to the Arduino? #define LED_COUNT 6
// Declare our NeoPixel strip object: Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Argument 1 = Number of pixels in NeoPixel strip // Argument 2 = Arduino pin number (most are valid) // Argument 3 = Pixel type flags, add together as needed: // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) // NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products)
// setup() function -- runs once at startup --------------------------------
void setup() { // These lines are specifically to support the Adafruit Trinket 5V 16 MHz. // Any other board, you can remove this part (but no harm leaving it): #if defined(__AVR_ATtiny85__) && (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // END of Trinket-specific code.
strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) strip.show(); // Turn OFF all pixels ASAP strip.setBrightness(50); // Set BRIGHTNESS to about 1/5 (max = 255) }
// loop() function -- runs repeatedly as long as board is on ---------------
void loop() { // Fill along the length of the strip in various colors... colorWipe(strip.Color(150, 222, 209), 50); // Blue
}
// Some functions of our own for creating animated effects -----------------
// Fill strip pixels one after another with a color. Strip is NOT cleared // first; anything there will be covered pixel by pixel. Pass in color // (as a single 'packed' 32-bit value, which you can get by calling // strip.Color(red, green, blue) as shown in the loop() function above), // and a delay time (in milliseconds) between pixels. void colorWipe(uint32_t color, int wait) { for(int i=0; i
Finishing Touches
You are almost done! Next, you should attach your LED triangle to your insert if you haven't already. You can use hot glue or adhesive strips to attach your lights. The only thing that you have to do now is attach your Reactor to your harness to do this glue your reactor between your two shoulder straps with your wire running along the strap as pictured above. Once you have run the wire along the harness to the side of your body you can allow it to go into your pocket and get attached to your power bank. Once you have dry-fit the USB wire go ahead and glue it in the previous position on the harness.
YOU DID IT! Now put the whole thing under your shirt and go save the world.
For the best effect, I recommend wearing this under a white shirt.
Look in the Mirror and Admire Your Handiwork
In case no one told you today, you rock! ✌️