Wooden Reactor Simulator: Nightlight, Desk Lamp, Sound Simulation and Dynamic Lighting Effects, Wireless Charger, USB Quick Charger, WiFi Controlled
by RoughWood81 in Workshop > Woodworking
6488 Views, 133 Favorites, 0 Comments
Wooden Reactor Simulator: Nightlight, Desk Lamp, Sound Simulation and Dynamic Lighting Effects, Wireless Charger, USB Quick Charger, WiFi Controlled
Introducing the Wooden Reactor Simulator—a multifunctional marvel that combines artistry and technology. This intricate project is crafted from sliced veneer of Oak, Alder, and Walnut, showcasing the natural beauty and richness of these woods. The wooden components are meticulously assembled to create a stunning reactor design that is both aesthetically pleasing and highly functional.
Encased in a glass flask, the reactor features copper wire elements that add an industrial and scientific touch to the overall design. The glass enclosure not only protects the delicate components inside but also enhances the visual appeal by allowing the intricate details to be seen clearly from all angles.
The reactor incorporates multiple light sources, including an addressable LED strip, optical fibers, and both standard and flexible LED filaments. These light sources are strategically placed to create dynamic lighting effects that can simulate various phases of a reactor, from preheating to full power and particle mode.
Each phase of the reactor is carefully designed to provide a unique visual and auditory simulation, making this piece not only a functional desk lamp or nightlight but also a captivating decorative object.
Powered by an ESP32 microcontroller, the reactor includes an MP3 module and speaker, providing an immersive auditory experience that complements the visual effects. The entire system is controlled by WLED with a custom usermod, offering extensive customization options and smart home integration.
In addition to its lighting capabilities, the Wooden Reactor Simulator functions as a wireless charger and USB quick charger, adding practicality to its stunning design. With four built-in sliders for adjusting brightness, sound volume, particle colors, and custom effects, users have full control over their experience.
The video is about the process of making
DIY Wooden Reactor Simulator:
Nightlight, Desk Lamp, Sound and Dynamic Lighting Effects,
Wireless & USB Charger
#reactor #wood #woodworking #nightlight #desklamp #lasercutting #diy #wled #leds #esp32 #charger
Features:
- Multiple Light Sources:
- Addressable LED strip
- Optical fiber
- LED filaments and flexible LED filaments
- Wireless charging
- USB Quick Charger
- WiFi control
- Technology:
- Based on ESP32
- Includes MP3 module and speaker
- Controlled by WLED with a custom usermod for enhanced features
Phases of the Reactor:
- Phase 1 - Preheating (Nightlight) Mode:
- Simulates pre-heating with animated red filaments in the bottom and top parts of the reactor.
- Color animations in optical fibers.
- Electrical sound and light fluctuations accompany startup, creating a cozy nightlight effect.
- Phase 2 - Full Power (Desk Lamp) Mode:
- Activates three rings of LED filaments (bottom: warm, middle: mix, top: white) for optimal illumination.
- Turbine sound increases frequency, simulating turbine animation.
- Full light power enabled with accompanying sound effects and visual splashes, perfect for desk lamp use.
- Phase 3 - Particles Mode:
- Simulates particles animation with addressable LED strips built into the reactor holders on the sides.
- Dynamic visual effects create a captivating light show.
- Phase 4 - Custom Effects Mode:
- Allows switching between various WLED-powered effects.
- Customizable light and sound effects enhance the visual experience.
Control and Interaction:
The reactor features four stands with built-in sliders for intuitive control:
- Slider 1: Change brightness
- Slider 2: Adjust sound volume
- Slider 3: Change particle colors
- Slider 4: Switch predefined custom effects
Additionally, the reactor includes four switches, each corresponding to a different phase of the reactor:
- Switch 1 - Preheating (Nightlight) Mode
- Switch 2 - Full Power (Desk Lamp) Mode
- Switch 3 - Particles Mode
- Switch 4 - Custom Effects Mode
Thanks to WLED, this reactor can be controlled via a mobile app or web browser, and it can be integrated into smart home systems for enhanced convenience and functionality.
Each phase is accompanied by sound simulations of the reactor (electricity, turbine, SciFi sounds) to enhance the immersive experience.
Supplies
Components:
- Walnut sliced veneer 2.5 mm
- Oak sliced veneer 4.5 mm
- Alder sliced veneer 4.5 mm
- Cylinder vase without bottom H=27 cm, D=15 cm
- Optical fiber 8mm, L=100 cm
- Copper wire 1.8 mm
- Screws 2.5x10 & 2.5x12 mm
- 32x Bolts L=25 mm, D=3 mm
- Wooden Glue Titebond 2
- CA Glue Gel (Akrifix 705) + Activator
- Acrylic glossy spray varnish
- Mineral Oil
- 1x ESP32-WROOM-32 controller
- 2x PWM Controller based on PCA9685 chip, 16-channel
- 2x PCF8591 ADC/DAC module
- 1x MP3 player module DFPlayer mini
- 28x LED Driver PWM LD06AJSA
- 4x DC-DC Step-down USB QC3.0/QC2.0
- 1x Wireless Charging Module DIY 15W 5V 9V 12V
- 2x Adjustable DC-DC converter on LM2596S
- 1x Power supply 12V 10A with short circuit protection
- 1x Micro SD Card 1Gb
- 1x Metal speaker 8 Ohm, 2 W, 70*30 mm
- 4x Direct Slider Potentiometer Mixer Fader B10K, B103 75mm
- 4x Toggle switch KLS7-MS-101-A1
- 100x BLS dupont 2.54 M/F
- 1x Power socket 5.5/2.1mm
- 16x Single fuse holder FS-11
- 16x Electrical fuses L=40 mm
- 4x Resistor 30 kOhm
- LED filament 38mm 3v
- - 8x Red
- - 8x White
- - 8x Warm
- LED filament 300mm 3v (spaghetti)
- - 2x White
- - 2x Warm
- Color & mounting wires
- WS2812b addressable LED strip 60 LEDs/m
Tools:
- DIY Laser cutter/engraver 520x520mm, 5.5w
- Disk Sander
- Hand router 1600 W, Round bit R=2.5 mm
- Connector crimper
- Mini Clamps
- 3mm thread taper
- Hot glue gun
- Soldering iron
Download Layout and Cut With Laser
SVG files include information about material thickness.
In this project I used Alder, Oak, and Walnut sliced veneer 4.5 and 2.5 mm.
Central Axle - Holder
The central holder axis will be used to secure the upper and lower parts, as well as the reactor rings.
Internal axial channel, used for wires.
- Glue the axis parts
- Fix with small clamps
- Polish with the disk sander
- Round the edges with a hand router and 2.5mm round bit
- Manual, final polishing
- Сut D=3 mm threads in all axle holes (This will be used in the next steps)
Bottom Part - Stand
The bottom part - stand is identical to the top part at this stage, it holds the axis, and led filaments and is used as the case for the electronic components.
- Use toothpicks to align wooden rings and shapes
- Glue wooden rings together
- Fix with small clamps or pressure
- Polish with the disk sander
- Round the edges with a hand router and 2.5mm round bit
- Manual, final polishing
Attachment Between the Central Axis and the Stand
It is best and most convenient to do this at this stage; later it will be more difficult.
- Put the axis to the slot of the bottom part
- Drill small holes into the end of the axle (I used a 2 mm bit and a small hand drill)
- This needs to be done from both ends of the axle
Screw the Wooden Rings Together
I used D=2.5 mm L=10-12 mm small screws to secure the bottom part rings together.
Which holes were used on this step you could see on the images.
"Preheat" Light Source
- Glue the small led-filament holders into the corresponding slots on the bottom part.
* The holes in the holders should look at each other
- Solder the wires to the 38 mm length 3V red led-filaments
* Small hole on filament contact means +V
** Use color wires to mark the polarity
*** I recommend using (soft) flexible wires because led-filaments are very fragile
- Put the LED-filaments into the holder holes
- Put the wires into the holes of the bottom part
- Glue the small decorative "blades" into the corresponding slots on the bottom part. They will simulate a radiator.
Glass Bulbs From the LED-filament and Fuses
I decided to add glass bulbs to create a more interesting visual effect.
Interestingly, adding matte to the bulbs could make them glow more interesting, but probably less brighter.
As the bulb source, I decided to use a glass electrical fuse.
At first time I found 25 mm length fuses, but then later I found 40 mm length in my father's garage, which seems to be used in an old radio station...
- Sand the electrical fuse ends to make the holes
- Solder wires to the led-filament to make it longer
- Put the led-filament into the electrical fuse and solder the ends
- Cut the rest of the wires
- We need 16 bulbs, I used 8 warm filaments and 8 white.
Bottom Turbine LED-Filament Holders and the LED Driver
LED filament holders perform several functions:
- Holds the filament
- Holds the LED driver
- Reflect light
- It creates the illusion of a turbine
How to assemble:
- Download and laser-cut the pieces
- Glue the parts as shown in the image
- Paint the bolts and fuse holders black (try to not spray inside the fuse holders, otherwise polish it inside afterward)
- Cover the wooden parts with glossy acrylic spray varnish
- Solder wires and fuse holders to the LD06AJSA LED driver
- Adjust the driver potentiometer to the left bottom position (this will limit currency to 45 mA, which is good for 38 mm LED filament)
- Put the driver into the slot of the wooden holder
- Glue the fuse holders with the CA glue + activator
- I used thermal shrink tubes to organize wires and mark +V & GND
We need 8 holders for the bottom turbine. I used warm LED filaments here.
Downloads
Assembly of the Bottom Turbine
- Screw the bolts into the filament holder
- Put the wires into the axle holder and move them to the end
- Screw the bolts into the axle holder to secure the filament holder
- Repeat these steps for all 8 filament holders
- Place the glass bulbs (fuses with LED filament) into the fuse holders
- Put Dupont connectors on all wires from LED drivers
Assembly of the Middle Light Source Ring Holder
This holder will be used as the base for the flexible LED filament (spaghetti).
- Download and laser-cut the pieces
- Use toothpicks to align wooden rings and shapes
- Glue the parts as shown in the image
- Fix with small clamps
Downloads
Decoration of the Middle Light Source Ring Holder
At this point, I decided that The copper wire coils would be a nice addon to the whole reactor design. I used a 1.8 mm copper wire.
- Fix the end of the copper wire with the CA glue + activator
- Wind the wire around a wooden ring in a coil pattern.
- Fix the second end of the wire with the CA glue + activator
- Glue additional small rings into the place shown on the image (it will make this part stronger)
- Make the same for the second part
- Cover the wooden parts with glossy acrylic spray varnish
- Glue the stands for the flexible filament to the one of part
Mount of the Flexible LED Filament
The 3V flexible LED filament (spaghetti) is quite an interesting product, actually, it gave me the idea to create something like this project, later I found some other options...
Here I used two warm and two white colors
How to assemble:
- Solder the long wires to the flexible LED filament
- Put the Middle Light source Ring Holder on the axle
- Drag the wire and filament through a hole in the holder ring stand
- Wind the filament in a spiral around the stands
- Drag the second wire end and filament through a hole in the holder ring stand
- Repeat the same for all 4 filaments
- Put the filament wires into the axle hole and drag them out from the end of the axle
- Solder the LED driver on the end of the wires
- Temporary I connected the 3V supply to the LED driver and adjusted the driver potentiometer with the current limit of 100 mA
Top Turbine LED-Filament Holders
Top Turbine LED-Filament Holders and the LED Driver assembly process the same as it was for the Bottom Turbine.
How to assemble:
- Download and laser-cut the pieces
- Glue the parts as shown in the image
- Paint the bolts black
- Cover the wooden parts with glossy acrylic spray varnish
- Solder wires to the LD06AJSA LED driver
- Adjust the driver potentiometer to the left bottom position (this will limit currency to 45 mA, which is good for 38 mm LED filament)
- Put the driver into the slot of the wooden holder
- Screw the bolts into the filament holder
- We need 8 filament holders for the top turbine. (I used white LED filaments here.)
Downloads
Assembly of the Top Turbine
- Fix the "ring with hooks" to the middle-section holder
- Put the wires into the axle and drag them to the end
- Screw the bolts into the axle holder to secure the filament holder
- Repeat these steps for all 8 filament holders
- Put the second "ring with hooks" on the axle
- Place one of the fuse (glass bulb) with led filament to measure the distance between rings with hooks
- Secure "ring with hooks" with screws
- Make a ring with the wires that need to be connected to the LED and put it on the hook
- Solder led-filament fuse (glass bulb) to the wires on the hook
- Put Dupont connectors on all wires from LED drivers
Decorative Coils for the Top Turbine
In order to make coils, we need a stick with a hole and copper wire.
I used 1.8 mm diameter copper wire and an 8 mm diameter stick
- Fix the wire in the hole
- Wind the coil (I did about 11 turns)
- Cut off the excess wire
- Make hooks on the edges of the coil
- Stretch the reel to the required length
- Insert the ends of the reel into the holes of the holders
- Repeat 8 times
Preheating Lights and LED-drivers
Previously we installed red-filaments for the preheating part.
Now it's time to secure wires and solder LED drivers to them.
I used the same technique as before.
Additionally, because this driver was not secured I put a thermal shrink tube to each of the drivers, just to isolate them.
Put Dupont connectors on all wires from LED drivers.
LEDs for the Optical Fiber
I thought it would be fun to add 4 clear pillars and RGB light sources from the ends
As a light source, I used addressable LEDs WS2812b
- Cut 8 standalone LEDs from the strip
- Solder wires to the In and Out of each LED
- Bend contact parts
- Put the LEDs in the holes as shown on the image
- Secure LEDs and wires with hot glue from the opposite part
- Glue rings around each LED (they will be used as holders for optical fiber)
Reactor Top Part
Until this moment the Bottom Part - Stand and the Top part have no differences. I've made a similar part for the top.
Finishing Bottom Part - Stand
- Download and laser-cut the pieces
- Use toothpicks to align wooden rings
- Glue the parts together
- Fix with small clamps or pressure
- Polish with the disk sander
- Manual, final polishing
- Secure Big wooden ring to the stand with screws
- Finish stand plate with glossy varnish(it adds more reflection to the light sources)
Downloads
Connecting the Bottom Part, the Axis and the Top Part
- Put the axle wires into the holes of the Bottom and Top parts
- Secure the Bottom part to the axle with 4 screws
* The top part does not need to be secured at this step
Optical Fiber
Optical fiber I had an 8 mm diameter optical fiber, if you do not have it you could use clear hot glue sticks.
The length of the optical fiber sticks is 25 cm.
- Temporary unscrew wooden rings from the top part
- Put the optical fiber into the holes inside the middle part and drag them until the bottom part
- Put the optical fibers into the holes of the bottom part as well into the top part holes
- Secure the top part with the axle with 4 screws
Bottom Cover
- Download and laser-cut the pieces
- Use toothpicks to align wooden rings
- Glue the parts together
- Fix with small clamps or pressure
- Polish with the disk sander
- Manual, final polishing
- Secure the Speaker to the bottom cover with bolts and nuts
Downloads
Top Part, Big Ring, Top Cover
The Top part of the big ring will be used as the holder for the switches and USB sockets.
- Download and laser-cut the pieces
- Place pieces as shown in the image
- Use toothpicks to align parts
- Glue the parts together
- Fix with small clamps or pressure
- Polish with the disk sander
- Manual, final polishing
USB Quick Chargers and Switches
Since a 12 V power supply will power that reactor I used DC-DC Step-down USB QC2/QC3 modules.
As a wireless charger, I found a module that supports Quick Charge, unfortunately, I didn't find any documentation for it, so I just connected it with a USB A - USB C short cable to one of the modules.
- Solder 4 USB QC modules in parallel to the 12 V connector (make sure that your wires are strong enough)
- Solder the 30 kOm resistor to one of the pins on the switch as shown in the image
- Isolate resistor with heat shrink tube
- Put Dupont connectors on all wires from the switches
- Put switches into the holes of the big ring and secure them with nuts
- Put the USB modules into the holes of the big ring and secure them with hot glue
- Secure Big ring with screws on the Top reactor part (by using inner circle holes)
Top Cover Decoration and Wireless Charger Mount
- Glue the decorative parts to the cover
- I used pressure and small screws to secure them
- Finish with mineral wood oil
- Put the Wireless charger module into the heat shrink tube to isolate it
- Glue the coil and the module on the back part of the cover
Reactor Pillars
Reactor pillars include a linear potentiometer for control reactor functionality and an addressable LED strip to simulate particles.
- Solder long wires to the linear potentiometer
- Put Dupont connectors on the linear potentiometer wires
- Cut 60leds/m WS2812b LED strip with 13 LEDs per piece
- Solder long wires to both ends of the LED strip
- Put Dupont connectors on the LED strip wires
- Download and laser-cut the pieces
- Use toothpicks to align wooden rings and shapes
- Put a linear potentiometer inside the pillar
- Glue the parts as shown in the image
- Fix with small clamps
- Glue addressable LED strip into the back side slot of the pillar
- We need 4 pillars, repeat steps
Downloads
Mount Pillars and Finish Wooden Parts With Oil
- Place the pillars close to the reactor
- Put and drag the wires from the pillar into the holes on the Bottom and Top parts of the reactor (the potentiometer wires need to go to the Top part because ADC will be placed in it)
- Secure Pillars with screws through the Bottom and Top part rings
- Finish Wooden parts with the mineral oil
- Wait until the oil is absorbed by the wood
Put on a Protective Glass Casing
Please make sure that that oil is completely absorbed by the wood, otherwise, you will get a lot of fat fingerprints on the glass.
As a glass case, I used a cylinder vase without a bottom, height 27 cm, diameter 15 cm
- It is a good idea to clean the glass cylinder vase from the inside at this step.
- Unscrew the big and middle wooden rings from the Top part, leaving only the plate.
- Carefully put the vase on to the Bottom part (always look to the wires from the pillars, they always want to make a mess)
- Secure with screws Top part middles and big wooden rings, and pillars as well.
Power
As already mentioned before, the reactor is powered by a 12 V power supply.
The LED filaments require 3 V and the logical part is 5 V.
I used two DC-DC step-down modules, adjusted to the 3V and 5V correspondly.
I isolated these modules with a heat shrink and secured them inside the Bottom part with hot glue.
The big wooden ring on the Bottom side has a hole, so put the power socket into it.
I found it helpful to use power pins for the 12V line, easy to detach and attach if needed.
Hardware
! Important, Please double check for the short circuit before plugging the 12V power supply into the reactor, because we don't want to create one more Chernobyl ;)
Make sure that you use good strong wires for the power transfer.
Assemble all electronic components as shown on the diagram.
Short explanations and thoughts:
The Core of the Reactor is the ESP32DEV Board.
We need to connect the MP3 module, 24 LED filaments, 2 Addressable LED strips, 4 switches, and 4 potentiometers... It's obvious that we won't have enough GPIO on the ESP32 board.
That's when I2C is coming for help.
We need only 2 wires to communicate with other components.
As an LED controller, I used - a 2x PWM Controller based on a PCA9685 chip, 16-channel
For Switches and Potentiometers, I used 2x PCF8591 ADC/DAC modules.
By default PCA9685 PWM module has a fixed address, so we need to define some other for the second module, simply short the A0 pins on the module.
The same for the second PCF8591 ADC module, But this time it was a bit complicated because my module doesn't have pins to do a similar thing. Here is the solution: need to unsolder the A2 chip leg from the ground and solder it to the Vdd, or search for the module which supports change address with jumpers.
My PCF8591 modules include some sensors already soldered, do not forget to detach jumpers to disable them.
For each Switch and Potentiometer, we need to provide +3.3V and GND, I just used a breadboard and solder connectors on it.
Pins used to connect LED filaments to the PWM controller are defined on the diagram.
1st PCA9685 PWM located in the Bottom part of the reactor, 2nd in the Top.
ESP32DEV board and MP3 player module are located in the Bottom part.
Both PCF8591 ADC modules are located in the Top Part.
Strips from the WS2812b serial connected, inside the Bottom and Top parts.
All wires are hidden inside the axle.
Software/Firmware
The core of the Firmware is the WLED project + custom-developed Reactor usermod.
It provides a lot of possibilities and functionality:
- A large amount of build-in effects
- Control via WiFi, Mobile app, web-browser
- Smart Home integrations
- Scheduled alarms
- and much more
Short explanations and thoughts:
Unfortunately, WLED does not support the components I used in the project: PWM Controller based on a PCA9685, PCF8591 ADC module, and MP3 DFPlayer module, so I have to add support with my usermod.
The principle of controlling LED filaments from the WLED is simple, I created a reflection function which reflects brightness from the "virtual" addressable LED strip to over PCA9685 PWM modules. It reflects only the brightness of the green color for each pixel of the "virtual" LED strip. So keep this in mind if you want to use default WLED effects, either use green color in the palette or use white color ;)
The needed settings for the WLED are shown in the image.
If you do not want to define them manually, you can download cfg.json file and upload it to the Editor
(http://your_reactor_ip/edit).
For the effects presets use preset.json.
The WLED segments used for each part of the Reactor are the following:
1. WS2812b LED Strip (8 LEDs)
- Used as 1x8 in Optical
fiber rods (Segment 0)
2. WS2812b LED Strip (54 LEDs)
- Used as 4x13 in side holders
(Segment 1)
3. Virtual LED Strip (28 LEDs)
- Reflects the LED filaments
over PCA9685
- 2x4 - Bottom and top filaments
(Segment 2)
- 8 - Bottom reactor ring
(Segment 3)
- 8 - Top reactor ring
(Segment 4)
- 4 - Middle reactor ring
(Segment 5)
Effect presets and explanation:
- 100 - Blank
- 1 - Startup of Phase 1
- 2 - Phase 2 established
- 3 - Startup of Phase 2
- 4 - Phase 2 splash
- 5 - Phase 2 established
- 6 - Optional animation
- 20 - 24 Custom
SD card and sounds:
SD cards need to be formatted as FAT32.
The folders and files structure:
/mp3/11.mp3 - phase 1 startup
12.mp3 - phase 2 finish
21.mp3 - phase 1 startup
22.mp3 - phase 2 finish
/01/01.mp3 - loop folder for phase 1
.....
/02/01.mp3 - loop folder for phase 2
.....
/03/01.mp3 - loop folder for phase 3
.....
E.g. /mp3/11.mp3 will be played when you turn 1st switch on, and /mp3/12.mp3 when it off.
MP3s from the folder /01/ will be played in the loop after a short time.
The same for each phase.
Timers for each phase are defined in the code.
Unfortunately, I could not provide mp3 files here, because of the license.
I used by Epidemic Sound subscription for my own.
Search the following keywords on the Epidemic Sound Effect section: reactor, turbine, electric, electricity, SciFi, Drone
Here I will not delve too deeply into how to compile/upload the firmware, since this is very well described on the website of the original project WLED
If you want to compile it by yourself sources you can find on my GitHub repository.
Also, I uploaded the already compiled binary to the repository.
Quick guides:
* Later I want to improve and update this section as well by adding some more functionality to the code.
Close the Covers
- Connect the speaker wire to the ESP32DEV board
- Secure the bottom cover with the screws
- Connect the USB cable to the Wireless charger module and the USB charger module
- Secure the top cover with the screws
Final Result
It was fun to develop and make this project.
I hope someone would like to create their Wooden reactor.