DIY 3D Printed Arc Reactor (Arduino/ATtiny85, Transistors, CAD, PCB Design, Programming) Iron-Man

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!

26 Replies to “DIY 3D Printed Arc Reactor (Arduino/ATtiny85, Transistors, CAD, PCB Design, Programming) Iron-Man

  1. Holy crap man. This is super super super impressive. I gotta bust my ATTiny chip back out and get that going for a long lost marvel project

  2. Du bist echt hammer, Respekt für so hochqualitative Videos! Die kleinschrittigen Erklärungen zum elektrischen Schaltplan waren super, genau das hatte mich interessiert. Ich hoffe du behältst die Motivation für solche aufwendigen Projekte aufrecht! Mach weiter so 🙂

  3. Really like how you explained every part of this. Most skip over the technical parts of the pcb and wiring parts expecting everyone to be an expert already. Subbed 🙂

  4. I'm trying to get into electronics as an extra hobby. How did you know what transistor to use? did you just look at the current draw of the leds and the current needed to for the base and size it so it could output enough current from the collector to power the leds and then have a low enough current requirement for the base for the attiny to switch it?

  5. wow dude, you could make a video on how to connect a wire to a battery and still make it as interesting as a spacecraft

  6. If i wanted to make it i would just print the whole thing in one piece and colour, carve a hole behind it and add an LED, paint it with the proper colours and i would get the same look.. would save a lot of time..

  7. hello , i am Vietnamese , i want to know the first machine in demo video with title " let's get started " . thank you very much .

  8. Hey, there! I'm using this model, along with two others, to build an arc reactor of my own for display. I'd like to make a video on it which won't be monetized now (because it'll be my first video) but might be in the future. I won't provide any stls and I'll mention in the video that the base model isn't mine. I'll also provide a link to your model in the description. I'd like to get your permission to do this. If not, I totally understand! Just let me know if you see this, please. We can also arrange something else privately if you'd rather have it any other way! That said, your model was really one of the most accurate models I've seen. Especially when it comes to the coil spacers. Loved it!

Leave a Reply

Your email address will not be published. Required fields are marked *