How To Build An Iron Man Arc Reactor Clock (OLED Version) – UDEMIE

Iron Man Arc Reactor Clock (OLED Version)

This build is a remix of the original design by jerome95. We constructed the reactor he designed and decided to modify it by adding and replacing some elements to enhance its functionality and appearance:

  • Added Enterprise WiFi Connectivity: In addition to domestic networks, you can now connect to Enterprise WiFi (SSID, Username, Password).
  • Upgraded Display: Replaced the “fixed digits” display with a 0.91-inch OLED display for better clarity and aesthetics.
  • Enhanced Coils: Used smaller copper wire for the coils for a sleeker look.
  • Multiple Font Options: Integrated several font choices for the display.
  • Boot Logo: Included a custom boot logo.
  • Touch Sensor: Added a touch sensor on a coil to toggle between different fonts.
  • Configuration Interface: Created a configuration interface for setting WiFi credentials, timezones, and more via a Serial connection on the Arduino.

For the center light, there are two options:

  1. Basic Blue LEDs/Diodes: A straightforward and easy-to-implement option.
  2. WS2812B Programmable LEDs: Offers advanced lighting effects but requires soldering skills.

Supplies

Step 1: Printing

Print all parts with following settings. STL filenames starts with PLA color to use.

Layer: 0.2mm

Infill: 20%

Supports not needed except for:

  • Black – OLED support bottom
  • Black – Base (could works without supports)

Part “Black – Copper-coil-support” has to be printed 10 times

Attachments

Step 2: Transparent Ring and Coils Support

Transparent Ring and Coils Support
Transparent Ring and Coils Support

Here, you’ll need some pieces of 0.8mm copper wire:

  • 1x 33cm
  • 1x 24cm
  1. Take the 10 copper coil support pieces, align them (thickest leg close to you, see picture)
  2. 33cm copper wire will go through holes of thickest leg
  3. 24cm copper wire will go through holes of thinest leg
  4. Align all coil support (thickest leg outside) on the transparent ring (if needed, cut the extra copper wire)
  5. Push from the top
  6. If needed, use a file to remove “dirt” from LED Ring’s PCB
  7. Take the LED ring (unsolder existing wires if needed) and put in inside the transparent ring, LEDs facing bottom. Check that soldering pads are close to transparent ring opening (see picture)
  8. Add LED ring spacer on top of LED ring

Step 3: Copper Coil Wiring

Copper Coil Wiring
Copper Coil Wiring

You’ll need 0.5mm copper wire pieces:

  • 10x 1.85m

Steps:

  1. First, add some tape to maintain everything in place and avoid some pieces to move.
  2. Repeat following steps for each coil
  3. Take a copper wire piece and put it inside the dedicated hole (see picture). If needed, just use a small drill to make the hole clean.
  4. Start creating the coil (see picture for correct way). Don’t hesitate to use a knife to push/compress wires against each other to avoid blank space.
  5. At the end, make the wire go under the coil and do 2 turns around the coil to tight everything.
  6. Cut the extra copper wire

Step 4: Option a – Blue Diodes/LEDs Center

Option a - Blue Diodes/LEDs Center
Option a - Blue Diodes/LEDs Center
Option a - Blue Diodes/LEDs Center
Option a - Blue Diodes/LEDs Center

For this step you’ll need:

  • 2x – Blue diodes
  • 2x – 47 Ohms resistor
  • ESP32
  • Small heatshrink
  1. On each diode, solder the 47 Ohms resistor to the negative pin (the shorter one)
  2. Use heatshrink to protect the solder
  3. Solder both diodes on the ESP32, one on each side, as shown on the picture.

Note: make sure that the diodes/LEDs don’t go further than the “top” of the ESP32 (picture is not correct for this), because otherwise they’ll be crushed by the center cap when you’ll screw it.

Step 5: Option B – WS2812B RGB LEDs Center

Option B - WS2812B RGB LEDs Center
Option B - WS2812B RGB LEDs Center

For this you’ll need:

  • 0.3mm enameled copper wire.
  • 2x – WS2812B LEDs
  • ESP32

Note: you can use a bit of soldering flux here to help you to solder wires on WS2812B LEDs

  1. Cut/bend wires to be able to solder as shown on picture.
  2. Use double sided desktop office tape to keep WS2812B LEDs in place while soldering. Take care of the LEDs orientation, have a look at the pinout shown on the picture for help.
  3. Remove copper’s protection (scratch with a knife) where you’ll have to solder
  4. Solder copper wires on LEDs
  5. Cut 2 pieces of the thick double sided tape, 5mm x 5mm and put it in the LEDs support
  6. Put the LEDs in place in the support and bend wires as shown.
  7. There are small slots under the support to allow you to place the wires. You can use a solder iron to melt a bit the support to block wires so they won’t move.
  8. Put the LED support on the ESP32 and solder wires as shown (picture and wiring diagram)

Step 6: Solder Wires on ESP32

Solder Wires on ESP32
Solder Wires on ESP32

Note: picture are showing WS2812B version

For this, you’ll need:

  • Wires (with approximate dimensions) for:
  • LED Ring
  • Red: 15cm
  • Black: 15cm
  • White: 15cm
  • Touch Sensor
  • Red: 6cm
  • Black: 6cm
  • Green: 6cm
  • OLED Screen
  • Red: 11cm
  • Black: 11cm
  • Yellow: 13cm
  • Blue: 13cm

For now, we will just re-group wires for each component and solder them on the ESP32 (you can re-group them by component using tape or heatshrink).

Have a look at the appropriate wiring diagram and at the pictures.

Step 7: Solder Touch Sensor

Solder Touch Sensor
Solder Touch Sensor
Solder Touch Sensor
Solder Touch Sensor

For this, you’ll need:

  • 12cm green wire (you can see it on first picture, I used white wire for my assembly but I was confused because the LED ring signal wire was also white… so use green instead)
  • Touch sensor

Notes:

  • Touch sensor will be used “remotely” and to do that, we’ll have to solder a wire to it and this wire will also be soldered on one of the copper coil you did at the begining.
  • Touch sensor may be very sensitive and sometimes font toggle will be triggered even if you don’t activate the touch sensor. To avoid this, you can solder a 50 uF capacitor between the pad on which the white wire will be soldered and the other pad which is the closest to the first one. This should reduce touch sensor sensitivity.

Solder everything as shown on pictures and appropriate wiring diagram.

You can use transparent heatshrink or electrical tape to isolate the touch sensor.

Step 8: Put ESP32 Inside Main Piece

Put ESP32 Inside Main Piece
Put ESP32 Inside Main Piece

Now, you’ll have to put the ESP32 and the Touch Sensor inside the main piece. I suggest you to re-group wires with a bit of electrical tape to help you to make them pass through dedicated holes.

There are 2 holes in the main piece, each one for specific wires:

  • Top hole:
  • 3x LED ring wires
  • 1x Touch sensor wire
  • Left hole:
  • 4x OLED screen wires

Once the ESP32 is in place, you can screw the transparent cap, and don’t tighten it too hard, just enough to keep it in place.

Next, we’ll prepare the holes on the piece which will hold the transparent ring. Use a screwdriver and one of the M3 screws to prepare each 3 holes.

Step 9: Connect OLED Screen

Connect OLED Screen
Connect OLED Screen

We’ll now put the OLED screen inside its “case”.

Note: I decided to use fine sandpaper to make the OLED screen case to piece cleaner (visibles parts on top and bottom).

For this step, you’ll need:

  • OLED screen
  • Top OLED screen case
  • Bottom OLED screen case
  • 4x – M2 screws
  • Small heatshrink
  1. Start by carefully removing the potential “dirt” around the OLED screen’s PCB. If you don’t do that, it may not fit in the case.
  2. Carefully bend a bit (~30 degrees) all 4 pins of the OLED screen. We have to do this so they won’t touch the piece behind them (see picture)
  3. Use a cutting pliers to shorten the pins on the top of the OLED screen (once again to make it fit inside the case)
  4. Use one of M2 screws to “prepare” the holes on the bottom piece of the case.
  5. Also, use a 2mm drill to “prepare” the holes on the top piece of the case.
  6. Put the OLED screen inside the case and use the 4 M2 screws to hold everything in place.
  7. Cut 4x 5mm heatshrink
  8. Solder the OLED wires on appropriate pins (see picture)

Step 10: Mount OLED Screen

Mount OLED Screen
Mount OLED Screen

For this step, you’ll need:

  • Transparent ring support 3D piece
  • Multi-ring 3D piece
  • Multi-holes ring 3D piece
  • 3x M3 screws

Note: as I did for the top of the OLED screen case, I also use some fine sand paper to make the multi-holes ring nicer.

  1. Put the transparent ring support on the base. Take care to align correctly the arrow on the piece so it is above the hole through which LEDs rings wires are going through.
  2. Take the multi-ring and put it on the transparent ring support. You can align it to the support if you want.
  3. Add the multi-holes ring and make the OLED screen case go through it. Take care to correctly align holes in the multi-holes to the ones of the OLED screen case (there are 3 “bigger” 3mm holes in the multi-holes ring
  4. Use the 3x M3 screws to hold everything in place

Step 11: Final Assembly

Final Assembly
Final Assembly

Now is the time to do the final assembly.

Notes: depending on your 3D print quality, you may have to

  • Use sand paper on small ring and support to make them fit the assembly
  • OR
  • Use a bit of glue to ensure small ring and support doesn’t go away.
  1. Solder the appropriate 3 wires to the LED Ring (take care to use the DI pad to solder the white wire, the signal)
  2. Solder the green wire (which is white on my assembly, as mentioned before) to the coil as shown.
  3. Carefully put the LED ring on its support. Everything should be align and fit perfectly, just enough resistance to hold everything in place.
  4. Turn the whole assembly around and put the small ring in place
  5. Then, put the support in place and take care to align it correctly so OLED screen will be horizontal once laying on the support.

Step 12: Code Upload & Configuration

The code can be found on GitHub: https://github.com/LuluTchab/IronManArc

There, you’ll find all information about what’s needed to upload the code.

Note: depending on the option you choosed for the center (blue diodes/LEDs vs. WS2812B) you’ll have to comment/uncomment a line of the code before uploading it on ESP32.

Once the code has been uploaded to your Iron Man Arc Reactor, it will display an error, which is normal. Follow the steps below.

  1. Keep Arduino program opened and open a Serial Monitor at 115200 bps
  2. If menu is not already displayed, enter “?” character only and hit ENTER
  3. Now navigate through menus by entering their number (and hit ENTER) to configure what’s needed.

HAPPY LEARNING!!!

Leave a Reply

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