Iron Man Arc Reactor Clock (OLED Version)

by LuluTchab in Workshop > 3D Printing

347 Views, 3 Favorites, 0 Comments

Iron Man Arc Reactor Clock (OLED Version)

1_Miniature.png

This build is a remix of the one done by jerome95.

I built the reactor he designed and decided to modify it to add/replace some elements:

  • Add possibility to connect also on Enterprise Wifi (SSID, Username, Password) in addition to domestic ones.
  • Replace "fixed digits" display with 0.91 inches OLED display
  • Smaller copper wire for coils, because looks better
  • Several fonts available on display
  • Boot logo
  • Add touch sensor on a coil to toggle between fonts
  • Add configuration interface (WiFi credentials, timezones, ...) using Serial connection on Arduino

There are 2 possibilities for center light:

  • Basic blue diodes/Leds
  • WS2812B programmable LEDs (requires soldering skills)


Timelapse build



Supplies

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

Transparent Ring and Coils Support

DSC_0001.JPG
DSC_0002.JPG
DSC_0003.JPG
DSC_0004.JPG
DSC_0005.JPG
DSC_0008.JPG

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

Copper Coil Wiring

DSC_0009.JPG
DSC_0010.JPG
DSC_0011.JPG
DSC_0012.JPG
DSC_0013.JPG

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


Option a - Blue Diodes/LEDs Center

PXL_20240127_135420492.jpg
ESP32-Wiring-Diode-Only.jpg
PXL_20240127_142313372.jpg
PXL_20240127_142303959.jpg

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.

Option B - WS2812B RGB LEDs Center

DSC_0017.JPG
DSC_0018.JPG
DSC_0019.JPG
DSC_0020.JPG
ESP32-Wiring-WS2812B-Only.jpg

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)

Solder Wires on ESP32

ESP32-Wiring-WS2812B.jpg
ESP32-Wiring-Diodes.jpg
DSC_0022.JPG
DSC_0023.JPG
DSC_0025.JPG

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.

Solder Touch Sensor

DSC_0026.JPG
DSC_0027.JPG
FSUKQT2LY04UDA0.jpg
FFO6NNHLY04UDBE.jpg

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.

Put ESP32 Inside Main Piece

DSC_0028.JPG
DSC_0029.JPG
DSC_0030.JPG
DSC_0031.JPG
DSC_0032.JPG

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.

Connect OLED Screen

DSC_0034.JPG
DSC_0035.JPG
DSC_0036.JPG
DSC_0039.JPG
DSC_0040.JPG
DSC_0042.JPG
DSC_0043.JPG
DSC_0044.JPG
DSC_0045.JPG

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)


Mount OLED Screen

DSC_0046.JPG
DSC_0048.JPG

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

Final Assembly

DSC_0050.JPG
DSC_0051.JPG
DSC_0052.JPG
DSC_0053.JPG
DSC_0054.JPG
DSC_0055.JPG

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.

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.

The end of the timelapse video is showing how to configure everything, and also how Iron Man Arc Reactor works.