Hi I'm Alex and welcome to Super Make Something, the show where I make something cool and show
you how to make it, too.
Today, we are building a 3D printed replica of the arc reactor from the movie Iron
Man.
Let's get started!
The arc reactor is made out of the following components:
1x ATTiny85 microcontroller 1x Coin cell battery holder
1x SPDT Mini power switch 1x 10K Ohm potentiometer
1x 2n2222 npn transistor 1x 10 kohm resistor
1x Custom interface PCB 11x Royal blue Adafruit sequin LEDs
1x 3D Printed diffusion ring printed out of clear PLA
1x circular piece of wire mesh 4x 3D printed concentric rings
1x 3D printed center ring assembly 10X 3D printed coil spacers
30 gauge copper magnet wire 40 silver solder pads cut out of cardstock
Jumper wires to bridge the coil spacers 1X 3D printed base plate
and 5x M2 screws to hold the circuit board and center ring assembly in place
I began this build by searching for the arc reactor's dimensions online.
The general consensus on the Replica Prop Forum was that the outer diameter of the diffusion
ring was 3 inches.
Based on this, I next headed to google images, where I found a front view image of the officially
licensed Iron Man Movie Arc Reactor prop replica.
I saved this image, opened it up in Inkscape, and then scaled it so that the outer diameter
of the diffusion ring matched the diameter that I found online.
This allowed me to extract the rest of the dimensions for all other features on the arc
reactor by tracing lines on the photo and writing down their length.
This process took a while.
To give back to the online prop making community, I decided to make a dimensioned drawing from
these measurements, which will hopefully save someone some time should they decide that
they want to make this arc reactor using a different method than 3D printing in the future.
In case you are interested in taking a look, a link to the drawing can be found in the
video description below.
Once I had extracted all of the dimensions from the arc reactor photo, I opened up Solidworks
a computer aided design or CAD software package.
Here, I created 3D models of the each of the arc reactor pieces in the photo using the
line lengths I had measured in the previous step.
While the photo allowed me to get the length and width of each component, it did not provide
any depth information.
This gave me some freedom to model these dimensions to best fit my design idea.
Specifically, I decided to emphasize wearability -- I wanted to make the height of each piece
as short as possible in order to make the arc reactor as thin possible.
My thinking here was that this would make it easier to wear this prop for an extended
period of time and minimize the risk of accidentally bumping it into things and breaking off components.
During this process, I simultaneously created a virtual assembly of the arc reactor, which
allowed me to make sure that all of the pieces would fit together, as well as add features
and modify dimensions on the fly.
Once I was satisfied with the overall look, I saved each component as an STL or stereolithography
file, which generates a mesh of each piece that can then be 3D printed.
Next, I opened up Cura, a free 3D printing slicing application in order to generate G-Code
to tell my printer how to make each object one layer at a time.
Because this arc reactor has a lot of fine details, I printed each piece at 0.1mm layer
height.
I also decided to print the diffusion ring with 100% infill to avoid having a grid pattern
shine through the translucent plastic when it is lit by the LEDs.
Finally, I also enabled supports for each piece, since the arc reactor has many components
with overhang features in order to allow the pieces to nest together vertically.
Once everything was set, I exported the G-Code to an SD card, and plugged it into my 3D printer.
Overall, the arc reactor is surprisingly small, with the biggest piece being the chest harness
that all of the other components mount to.
Because of this, all of the pieces should be able to printed without splitting them
up any further on most hobby printers.
I am printing my pieces on the MP Mini Delta, which has a circular build area with a diameter
of 110 millimeters, or roughly four and a third inches.
While this is small compared to some other printers available today, it was more than
enough space for each of the arc reactor components.
Delta printers have the advantage of being able to print slightly faster than printers
that use an X-Y carriage, however, these shots are timelapses, not real time -- the total
print time for all components was approximately 10 hours.
While the components printed, I headed back to my computer to start on the project's electronics.
Since one of my design goals was to make the arc reactor as short and self contained as
possible, I decided to create a custom circuit board to light and power the device.
I first headed back to Solidworks, and opened up a CAD model of the PCB (or printed circuit
board) that I modeled in the previous step.
Because the electronics need to stack behind the 3D printed components of the arc reactor,
the circuit board needs to have a custom, circular shape that needs to be specified
during the PCB design process.
To do this, I saved the circuit board outline as a DXF or "Drawing Exchange Format" file,
which I could import into my PCB software when laying out the board in the next step.
The circuit board was designed in Eagle, a schematic and PCB layout program available
from Autodesk.
Once the program loaded, I started a new project, and then created a new board.
I next imported the DXF file from the previous step using Eagle's DXF import function found
under File -> Import -> DXF.
After locating my file using the browse option and making sure that the "Target Layer" drop-down
was set to "20 Dimension," I clicked OK, and then clicked the Run button in the following
window.
This imported my board outline into Eagle, though not all of the pockets in the drawing
were recognized as closed contours.
To fix this, I found the open line in each of the pockets, and set their X and Y locations
to be coincident, which changed the pocket color to gray, indicating that it would be
milled out during the PCB fabrication process.
I next clicked on the "Switch to Schematic" button located in the Eagle taskbar, which
took me to a new screen that would allow me to wire up the arc reactor circuit.
While the details of using Eagle are outside the scope of this video, the PCB design process
essentially boils down to placing the components you would like to use into this schematic,
and connecting them together appropriately using virtual wires.
Once the components were wired up on the schematic, it was time to arrange the arc reactor's electronic
components on the circuit board.
Clicking the "generate/switch to board" button on top of the Eagle task bar switched back
to the board layout graphical user interface, where components from the schematic could
be moved around to fit onto the PCB.
Here, I first drew polygons that matched the size of the sequin LEDs I would be using to
light the arc reactor onto the circuit board for reference.
This would help me place the SMD parts in the correct locations of the board so that
I could solder them onto the PCB.
I next began to populate my board, placing all of the SMD components on one side of the
circuit board, and all of the other components on the opposite side.
Once the components were arranged to my liking, I used the autoroute button to generate PCB
traces that connect everything together.
Because you should never trust the autorouter, I next used the "Show" tool to inspect that
everything was connected the way I thought it should be.
After verifying the connections, I next added text and logos that would be printed on the
circuit board's silkscreen layer to be able to identify the PCB.
The final design step was to make sure that the PCB followed the design rules of the fabrication
house that would manufacture the part, which was done by clicking on the "Check DRC" button.
After verifying that everything was good, I saved the board and closed Eagle.
I manufactured the boards using OSH Park, a PCB manufacturer located in Lake Oswego,
Oregon.
On the OSH Park homepage I simply uploaded the board file, waited for the board to finish
processing, entered some information about the PCB on the following page, verified that
everything looked okay one final time on the confirmation page, and then clicked the "Purchase"
button.
Three weeks later, I received 3 copies of the board in the mail in an awesome purple
color!
The video description below contains both a link to the Gerber files, which you can
use to fabricate your own copies of the board at your favorite fab house, as well as a link
to a website where you can buy individual copies of the board directly.
With the PCB in-hand, it was time to program and assemble the arc reactor's electronics.
The core electrical components of this project are an ATTiny85 microcontroller and 11 Royal
Blue Sequin LEDs from Adafruit.
In addition to these components, this project also uses one coin cell battery, one coin
cell battery holder, one 2N2222 NPN transistor, one Single-pole dual throw on-off switch,
one 10 kOhm potentiometer, one 10 kOhm resistor, and one 6 Pin DIP IC socket adapter.
This last component is completely optional, but will allow me to remove the ATTiny85 from
the circuit once everything is assembled in order to program new light patterns without
desoldering the chip.
Before continuing, let's take a look at the circuit behind the arc reactor.
The ATTiny85 microcontroller essentially acts as a barebones Arduino without any supporting
hardware like USB ports, voltage regulators, and other components found on bigger, commercial
versions of these boards.
Power is supplied to the ATTiny using a 3 volt coin cell watch battery, which also powers
the rest of the electronic components in the circuit.
A potentiometer is connected to one of the microcontroller's analog pins, whose resistance
can be adjusted to change the voltage across its sensing pin.
This voltage is then read by the ATTiny, which uses this value to generate a PWM command
that changes the brightness of 11 parallel surface mount LED's, each of which has a corresponding
in-series resistor.
Unfortunately, the LED's cannot be powered from the ATTiny's PWM pin directly, because
they would draw more current than the pin can supply.
Therefore, the positive terminals or anodes of the LEDs are directly connected to the
3V line of the battery, and an NPN transistor is located between the LED-resistor's negative
terminal and the circuit's ground line.
Unlike the Arduino Pin, transistors can handle large currents across their emitter and collector,
opening and closing a circuit based on a relatively low input current at their base pin.
This essentially makes transistors a type of electronic switch.
The transistor's base pin is connected to the ATTiny's PWM pin through an in-series,
10KOhm current-limiting resistor, and opens and closes the connection between the LEDs
and ground depending on whether the value of the PWM signal generated by the ATTiny
is low or high.
By quickly flashing the LEDs on and off using the PWM signal, the LEDs appear to be lit
at different brightness depending on the length of time the PWM signal is high versus the
length of time the PWM signal is low.
This is also known as the PWM duty cycle.
Finally, a power switch is located between the battery's positive voltage terminal and
the rest of the circuit, which can be used to turn everything on and off.
The ATiny85 is programmed using the Tiny AVR Programmer from Sparkfun.
While it is necessary to install a driver and board definitions to use these components
with the Arduino IDE, the installation process is incredibly straight forward.
Tutorial links about how to do this can be found in the video description below.
Once everything was set up, I plugged the Tiny AVR programmer into my USB port, and
started the Arduino IDE.
The code for this project is also very straight forward, and does the following.
It first declares variables that define the pins that will be used to output PWM signals
and read the potentiometer, as well as a variable for the PWM value.
It next sets the PWM pin as an output pin in the setup method.
In the main method, the program first performs an analog read of the potentiometer value.
It next maps this value between the range of 0-255, which, for the Arduino, correspond
to a signal that is either entirely off or entirely on.
Finally, it outputs this value on the PWM pin, pauses for 100 milliseconds, and then
loops again.
Once I was happy with the code, I ensured that the following options were selected in
the "Tools" menu: Board option -- ATTiny25/45/85, Processor -- ATTiny85, and Clock -- Internal
one MegaHertz.
I then clicked the "Upload" button, which compiled the code and uploaded it to the microcontroller.
Once the LEDs on the Tiny AVR programmer stopped blinking, I unplugged it from the USB port,
and could begin to solder all of the components to the PCB.
I began by mounting my circuit board into my PCB holder.
I next soldered all through hole components, beginning with the potentiometer, followed
by the 6 pin socket adapter, 10 kOhm resistor, on/off switch, transistor, and battery holder
to the circuit board.
After inserting the watch battery and turning on the power, I flipped the PCB over and applied
a drop of solder to matching solder pads.
I then held LEDs in place and re-melted the solder on the pads, which electrically connected
the LEDs.
Since the power was on during soldering, the LEDs lit up indicating that the their electrical
connection was good and that everything was soldered correctly.
I then repeated this for the remaining 10 LEDs.
Once the electronics were done, it was time to paint and assemble the arc reactor.
The 3D printer made the following components:
1X base plate 1x diffusion ring printed out of clear PLA
10X coil spacers 1x 3D printed center ring assembly
and 4x concentric Rings.
The arc reactor components were painted using black, gunmetal, silver, and gold acrylic
paints that I bought from my local craft store.
I first added drops of each of these colors into a 6 well plastic pallet, which would
allow me to mix paints together without making a mess on my cutting mat.
Because some of the components were also very small, but needed to be painted evently from
every side, I used a sheet of paper as a backdrop and applied pieces of double sided tape to
its middle.
This allowed me to tape my pieces to the paper and keep them from moving around while painting.
I began by painting the 4 concentric rings using gold paint.
I wanted to go for a "worn" look, so I did not worry too much about painting all of the
pieces evenly.
Instead my strategy was to first paint over everything using a bit too much paint, dry
off the paint brush, and then go back and spread the paint to make sure that everything
was covered.
The center ring assembly was painted with a mix of black and gunmetal paint, with a
final drybrush layer of black paint to enhance some of this piece's details.
The coil spacers were painted with silver paint, which I left attached to the 3D printed
support material to keep everything upright and make painting easier.
A final step could be to coat everything in a layer of clear gloss to protect the paint,
but I found that the acrylic holds up pretty well while worn without any additional finish.
While the painted pieces dried, I began to assemble the arc reactor.
I first inserted the PCB into the diffusion ring.
I then attached these components to each other 3 5mm long M2 screws, making sure that the
circuit board was oriented so that each of the LEDs were located underneath the diffusion
ring's indentations.
I next inserted the 10 coil spacers into the indentations, gluing everything together with
a dab of super glue.
Once this was complete, it was time to wrap the coils using 30 awg enamel coated magnet
wire.
I first cut an arms length of magnet wire from the spool.
I then inserted one end of the wire into a slot in the diffusion ring, wrapped a piece
around the neighboring slot to keep everything taught, and then wound the wire over the coils,
through the slots of the diffusion ring and PCB until the entire width of the coil was
covered in a layer of wire.
Once complete, I wound the start of the coil to the end of the coil to hold everything
in place, finally cutting off any remaining wire using a pair of snips.
I repeated this process 10 times, once for each coil spacer, which took a total of about
4 hours.
If there is a marvel movie that you haven't seen, this would be a good opportunity to
catch up.
The mesh portion of in the arc reactor's center is made out of an adhesive backed screen door
repair sheet that I picked up my from local hardware store.
I first cut a 2 square inch piece from the sheet using a ruler and exacto knife.
I next traced the outline of the middle concentric ring onto the screen's backing sheet using
a pencil and cut out the circle using a pair of scissors.
I then peeled the screen off of the back plate, stuck it to the middle of the arc reactor,
and used a hair drier to melt the screen's adhesive to the diffusion ring.
While you want the glue on the screen to melt, be sure not to heat everything up too much,
because you risk melting the plastic, or worse, accidentally breaking a solder connection
in the PCB below.
Because the magnet wire is looped through the circuit board, it is not possible to get
the PCB out of the arc reactor without having to rewrap everything.
Once the screen was attached to the diffusion ring, I trimmed any excess with an exacto
knife.
I next pressed the smallest concentric ring into the channel in the diffusion ring.
I then used attached the other concentric rings to the 3D printed steps of the diffusion
ring using dabs of super glue, positioning everything with a pair of tweezers.
Once all of the rings were glued, I placed the center ring assembly onto the top step,
and screwed it to the diffusion ring using two 10mm long M2 screws.
The next step was to cut 40 3x2mm solder pads out of silver cardstock that I bought from
my local craft store.
For this, I used my craft cutter, though this could also be done by _very carefully_ cutting
the cardstock using an Exacto knife.
After loading the cardstock into the cutter, the machine's knife moved through the paper
to cutting tiny silver rectangles.
Because of the tiny squares and cut settings, I knew that some of the rectangles would slip
off of the adhesive backed cutting mat during the cutting process.
To solve this, I simply cut more squares than I needed to, banking on the fact that I would
get at least 40 good cardboard solder pads after the machine was done.
Once it finished cutting, I ejected the mat and cardstock from the craft cutter, and then
carefully picked off individual squares with my tweezers, putting them into a small bowl
for safe keeping.
The pads were glued onto the top and bottom front face edges of the coil spacers again
using superglue and tweezers.
This step is entirely cosmetic, but really helps to enhance the arc reactor's likeness
to the one worn by Tony Start in the movie.
The final step was to cut jumpers to bridge each of the solder pads out of gold craft
wire.
Instead of individually measuring each piece, I found it easiest to cut a small length of
wire, and then trim it to length to fit appropriately.
The jumpers were again positioned using tweezers and attached to the pads using super glue.
The final assembly steps were to adjust the brightness of the LEDs using the potentiometer.
At this point, the prop portion of the arc reactor was done, so it was now time to make
the harness using the 3D printed base, 1 inch wide nylon strapping, and two sets of parachute
buckles.
I first cut two nylon straps so that their combined length could wrap across my chest
diagonally.
I then melted the cut ends of the straps with a lighter to make sure that they would not
fray.
Next, I looped one end of the strap through the parachute buckle's male end so that I
could tighten the strap by pulling on it.
After this, I folded the end of the strap over to create a tab, which would prevent
the end from pulling out of the buckle, and sewed it to itself.
I used a sewing machine to do this to speed up the process, however, this could also easily
be done by hand-stitching the strap.
I then looped an end of the other strap through the buckle's female end, folded it over, and
sewed it to itself into a loop.
After this, I inserted a free end of one of the straps into one of the slots of the chest
harness, doubled it over, and sewed it into a loop, and then inserted the remaining strap's
free end into the slot diagonally across from the first slot and repeated the process.
I then did all of these steps again for the second set of parachute buckles.
With assembly complete, I next adjusted the brightness of the LEDs using the potentiometer,
screwed the prop portion of the arc reactor into the baseplate, and the arc reactor was
done!
The final step was to strap the arc reactor to myself across my chest, put on a black
t-shirt with a hole cut into it, and put on an Iron-man themed hoodie to complete the
look.
I now had a 3D printed, dimmable, and completely self contained arc reactor that I could wear
to midnight premiers of Marvel movies, use as a quick Halloween costume, or to simply
have an interesting movie prop to display on my desk.
The arc reactor is a fun weekend project for anyone looking to have their own Iron Man
movie prop.
In case you would like to make this project yourself, the video description below contains
links to STL files for the arc reactor's 3D printed parts, a link to the ATTiny85 code,
a complete bill of materials for the project's electronics components, a list of tools that
I used during my build, and a link to the circuit board's design files that you can
manufacture through your favorite fab house.
In case you don't want to deal with PCB design files, the video description also contains
a link to an online store where you can order the bare PCB directly.
As always, if you end up making this project for yourself, I'd love to see it!
Please share pictures of your arc reactor or other cool project with me using the social
media links in the video description.
In the meantime, thanks again for watching, now go Super Make Something!