This project bridges the gap between artistry and technology, transforming a wooden fountain into an animated masterpiece driven by LED patterns. Using an ESP32 running WLED firmware with a custom Usermod, the fountain synchronizes 24 mini water pumps with dynamic LED animations, turning flowing water into a living light show.
At its core is a clever hardware-software integration. Patterns designed for addressable LED strips are processed by the custom firmware, where the brightness of each virtual LED pixel (green channel) is mapped to corresponding PWM signals. These signals control the pumps via a PCA9685 module, seamlessly translating light animations into synchronized water effects.
The centerpiece of the fountain is a walnut harp, featuring “strings” made of water streams illuminated by addressable LEDs. This adds a unique artistic element to the project, blending natural wood aesthetics with modern electronics.
Key features:
• Dynamic Water Effects: LED patterns control the flow of water, creating endlessly unique animations.
• Smart Connectivity: WiFi-enabled, with control through a mobile app, browser, or integration into smart home systems.
• Custom Firmware: A Usermod for WLED that enables mapping virtual LEDs to hardware like water pumps.
This project demonstrates how a mix of creativity and engineering can turn a concept into a functional, visually stunning piece. Detailed build instructions, source code, and schematics are available for open-source enthusiasts ready to replicate or expand on the design.
Components
- Pine board: 200 x 30 mm and 100 x 20 mm
- Pine timber: 40 mm
- Walnut veneer, planed: 4.5 mm
- Walnut veneer, planed: 2.5 mm
- Screws: 3.5 x 65 mm
- Plastic bolts M8, 30 mm, and nuts
- Titebond 3 wood glue
- CA gel glue (Akrifix 705) + Activator
- CA liquid glue (Akrifix 702)
- UV epoxy resin, viscous
- Epoxy resin, 16-hour gelation time (fluid) 3L
- Epoxy resin, 1-hour gelation time (viscous) 3L
- Green pigment for epoxy resin
- Glossy acrylic spray lacquer
- Copper tube for AC systems, D = 9.52 mm
- Copper tube for AC systems, D = 6.35 mm
- Capillary copper tube, D = 2.5 mm
- PVC tube 6x9 mm (for condensation drainage)
- Painter’s tape
- Teflon plumbing tape
- Hot glue sticks
- Sandpaper
- “Coral” grinding disc for angle grinder
Electronic Components
- 1x ESP32-WROOM-32 controller
- 2x PCA9685 16-channel PWM controller
- 1x PCF8591 ADC/DAC module (optional)
- 1x DFPlayer mini MP3 module (optional)
- 1x INMP441 microphone (optional)
- 1x Metal speaker, 8 Ohm, 2W (optional)
- 24x 390 Ohm resistors
- 24x PC817 optocouplers
- 24x 0.1 µF capacitors
- 30x Terminal connectors
- 24x FR207 diodes
- 1x FR607 diode
- 24x TA6586 motor drivers
- 1x MOSFET module with optocoupler
- 2x Prototype PCB board, 90x150 mm
- Shielded multi-core wire
- Colored and hookup wires
- WS2812b addressable LED strip, 60 LEDs/meter
- 24x Mini silent submersible pumps, 5V, 120L/H
- 1x Brushless mini submersible pump, 12V, 4L/M
- 2x 40-pin male-to-female connectors
- 1x XL4016 DC-DC step-down module
- 12V gel battery
- 5V 3A power bank
Tools
- DIY laser cutter/engraver, 520x520 mm, 5.5W
- Disc sander
- Hand router with 10 mm round-over bit, 12x50 mm straight bit, and 50 mm flattening bit
- Hot glue gun
- Soldering iron
- ST-369 manual pipe bender, 180° (1/4”, 5/16”, 3/8”)
- Capillary scissors for copper tubes
- Copper tube cutter
- Gas torch
- Dremel tool
- Metal wire brush for texturing
- Screwdriver
- Angle grinder
- Hand saw
Sources, firmware, layouts, and schematic on GitHub.
Detailed instruction on Instructables.
Hardware:
The final version of the electronics took me about two weeks to complete, primarily due to electromagnetic interference (EMI) caused by the mini pumps. Here are some details…
At the start, I built a small proof of concept, connecting a few mini pumps through a TA6586 motor driver directly to the ESP32 controller, and everything worked smoothly.
However, when I assembled the full setup with the PCA9685, it became very unstable (freezing every 5-30 seconds)....
Read more »