YOU CAN BUILD A FOUNTAIN WHERE THE WATER DROPS HANG IN THE AIR

Water drops that freeze in mid-air, drift upward or fall in slow motion — and you can put your hand through them.

by Isaac Chasteau (isaac879)

FULL CAD BOM FIRMWARE DOCS

WorkshopDisplays

Built withArduino3D printing

difficulty
●●●●○
time
a weekend-plus
license
MIT
repo
repo ACTIVE9 stars
1
Jump to section

COMPAREE VERDICT

This is a classic physics demonstration dressed up with RGB LEDs and a custom PCB: water drips from a nozzle at a steady rate, and LEDs flash in sync so each drop is lit at the same point in its fall. Your persistence of vision makes the drops appear frozen, or drifting slowly up or down depending on the strobe offset. It is mesmerising in a dark room and you can reach into the column of apparently stationary drops. Isaac Chasteau (isaac879) designed the board, wrote the code and published the 3D and laser-cut files for the enclosure. The Gerber files are ready to send to a fab, the parts list PDF names every part down to the 12V diaphragm pump and the 3D-printed nozzle with IR diodes, and the code needs the author's small helper library. What is NOT in the repo: a written guide on flow rate or how to tune the timing so the drops lock in place. That tuning step — adjusting the strobe frequency over Bluetooth while watching the drops — is where most of your Saturday afternoon will go, and if your pump does not produce uniform drops you will not get a clean freeze no matter how good your code is. The 3D files are non-commercial only, so if you were planning to sell kits or run a workshop this is not the licence for that. For a home build or a school demo it is hard to beat; for someone who has never built a strobe circuit before it will be a frustrating first project. The one thing most likely to go wrong: buying a pump that does not drip cleanly, and discovering that only after the board is assembled.

GOOD TO KNOW

  • —Gerber files for a custom PCB are in the repo, along with a parts list PDF and schematic.
  • —Arduino Nano and ATtiny85 firmware (C/C++) is provided. Code is MIT licensed.
  • —3D print files (STL and SVG) are on Thingiverse (thing 4105299), licensed CC BY-NC 4.0 — non-commercial use only.
  • —There is no assembly guide, calibration walkthrough or troubleshooting doc. The README is brief.
  • —You will need to tune the strobe timing by ear and eye until the drops appear stationary.
  • —A 12V diaphragm pump and the 3D-printed nozzle are specified, but flow rate is not — finding a steady drop rate is the single hardest part of the build.

Parts to buy

11 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • Custom PCB (Gerbers provided)from the repo files
  • Arduino Nano and ATtiny85 (both are used)Find
  • JDY-30/HC-05 Bluetooth moduleFind
  • 12V 5050 LED stripsFind
  • IRLZ44N MOSFETsFind
  • IR LED and receiverFind
  • Passivesfrom the repo files
  • 12V diaphragm pumpFind
  • TubingFind
  • 12V 5A power supplyFind
  • 3D-printed parts and laser-cut acrylic panelsFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

PrintCorner brackets, the anti-splash spike, the bottom clip with the DC jack, the funnel and the other printed parts listed in the parts list PDF; the files are on Thingiverse (thing 4105299).
BuyCustom PCB (Gerbers provided), Arduino Nano and ATtiny85 (both are used), JDY-30/HC-05 Bluetooth module, 12V 5050 LED strips, IRLZ44N MOSFETs, IR LED and receiver, passives, 12V diaphragm pump, tubing, 12V 5A power supply, plus 3D-printed parts and laser-cut acrylic panels. Full parts list PDF in repo.
ToolsSoldering iron, wire cutters, 3D printer or print service, access to a laser cutter for the acrylic panels, multimeter, a phone or PC with a Bluetooth serial app for tuning. Arduino IDE for flashing firmware.
SkillsIntermediate electronics (PCB assembly, component soldering, basic debugging) and patience for empirical tuning. No precision machining required but you need to iterate on drop rate and strobe timing by eye.
TimeA weekend if the PCB arrives pre-made and your pump drips cleanly on the first try. A weekend-plus if you need to swap pumps, re-tune or troubleshoot LED sync.
CostA custom PCB order, a 12 V diaphragm pump, LED strips, a 12 V 5 A supply, the Arduino Nano and ATtiny85, plus 3D-printed and laser-cut parts; the creator does not publish a total.
Safety12V DC only, so no mains voltage risk. LEDs strobe at high frequency (hundreds of Hz) — avoid looking directly into the beam for extended periods if you are photosensitive. Water and electronics in the same enclosure; keep the PCB and power supply dry.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Videos

RGB Time Fountain V2 - isaac879

The creator's own 22-minute project video for V2, explaining how the fountain works and showing the illusions; it is not a step-by-step assembly guide.

More builds like this

All projects

Gallery

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Order the PCB (Download the Gerber zip from the repo and upload it to JLCPCB, PCBWay or OSH Park; default settings are fine.)
  2. 2.Buy the parts (The parts list PDF names every component, including a 12V diaphragm pump, Bluetooth module and IR LED/receiver for the nozzle.)
  3. 3.Print the frame(STL and SVG files are on Thingiverse (thing 4105299). Print in PLA or PETG; the frame holds the nozzle and the LED array.)
  4. 4.Assemble the PCB and flash the firmware (Solder the components following the schematic. Install the author's Iibrary, then flash both the Arduino Nano and the ATtiny85 code via the Arduino IDE.)
  5. 5.Tune the drop rate and strobe timing(Adjust the pump flow until drops fall at a steady rate, then change the strobe frequency over Bluetooth while watching the drops; when it matches the drop rate they will appear frozen. This step is empirical and can take an hour or more.)

Resources

Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.

KNOWN ISSUES

  • The parts list names a 12V diaphragm pump but no exact model, and not every pump drips uniformly. If your drops vary in size or timing the strobe effect will not lock. Test the pump with the printed nozzle before assembling the rest.
  • The 3D print files are CC BY-NC 4.0 — you cannot sell this project, run paid workshops with it or use it in a commercial setting without contacting the creator for a different licence.
  • There is no calibration guide. You tune the strobe frequency over Bluetooth until the drops freeze. If you have never done this before, expect to spend an afternoon experimenting.
  • The PCB is custom, so you cannot skip that step by buying a dev board. You need to order it from a fab, wait for it to arrive and solder all the SMD or through-hole parts yourself.
  • The LEDs strobe at high speed. If you are photosensitive or prone to migraines, do not stare directly at the beam. Set it up in a dim room and look at the drops, not the source.
  • Water and 12V electronics in the same enclosure. Keep the PCB and power connections dry, and do not run the pump dry or it will overheat.

Are the drops actually levitating?

No. They are falling normally. The LEDs flash in sync with the drops so each one is lit at the same point in its fall, and your persistence of vision makes them appear stationary. Adjust the strobe offset and they drift up or down.

Can I use an Arduino Uno or ESP32 instead of a Nano?

The code is written for an Arduino Nano working together with an ATtiny85 over I2C, on a PCB laid out for the Nano. You could port it to another board but you will need to rewrite the timer interrupts and pin mappings — the repo does not provide that.

How do I know when the timing is right?

When the drops appear frozen in mid-air. You adjust the strobe frequency over Bluetooth while watching the column; the drops will flicker, then suddenly lock into a stationary pattern. If they are drifting slowly you are close.

Can I sell kits of this?

The code is MIT so you can do what you like with that, but the 3D files are CC BY-NC 4.0 — no commercial use. If you want to sell it, contact isaac879 for permission or design your own enclosure.

What happens if I use tap water?

The creator does not specify. Tap water will generally work, but minerals can deposit in the pump and nozzle over time, so distilled water is the safer choice for a fountain you leave running.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

The illusion depends on the strobe staying locked to the falling drops — this build uses IR diodes in the nozzle and Bluetooth tuning to get there. What pump have you used for a project like this, and did it hold a clean drip for more than an hour?

CompareeTEAM7d agoedited

Practical notes from our verification: the GitHub repo has the Gerber files, schematic, parts list PDF and code for both chips — an Arduino Nano and an ATtiny85 that talk over I2C — under an MIT licence, and the CAD and SVG files are on the author's Thingiverse page. The code needs the author's custom library (isaac879/Iibrary), so install that before you try to compile. The parts list does cover the mechanical side: a 12 V diaphragm water pump, a 3D-printed nozzle with IR diodes that detect the drops, 12 V 5050 LED strips switched by IRLZ44N MOSFETs, and laser-cut acrylic. Timing is tuned over Bluetooth (a JDY-30 module) with serial commands and saved to EEPROM, so expect to spend your time dialling in the strobe rather than hunting for parts. There is a full project video for V2 and a separate one for the earlier prototype. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.

Isaac Chasteau (isaac879)

Isaac Chasteau is a UK-based maker who publishes open-source camera sliders, motion control rigs and physics demonstrations. The RGB Time Fountain V2 is an evolution of his earlier RGB Time Fountain prototype, which ran on an Arduino Uno; V2 moves to a custom PCB with an Arduino Nano and an ATtiny85.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.