Introduction: Glowing Air-Bubble Clock in Water

“Glowing Air-Bubble Clock in Water” displays the time and some graphics by illuminated air-bubbles in water.

  • font: 8 bits width
  • display area: roughly 200mm height x 90mm width.
  • The viscosity of water is low and the bubbles rise too fast. Therefore, air is blown into the pipes, and the air-bubbles rise slowly enough to read the information displayed by the air-bubble group as they rise through the pipes.

This “Glowing Air-Bubble Clock in Water” is the first version of my air-bubble clock. Basic idea is confirmed with this first model, and its basic specfications and technical items have been carried over to successor model version 2. It is also uploaded on instructables.com “Glowing Air-Bubble Clock; Powered by ESP8266”. The biggest difference is that the liquid is changed from water to glycerin to improve the quality as a display device by air-bubbles. No need for pipes to control air-bubble rising speed due to high viscosity.

This version1 may be inferior to version2 in display quality, but the unique movement of the bubbles in this version 1 is fascinating to me. So, I want to introduce it back to this version1.

I would appreciate it if you could tell me in the comments section what you like best about either this version 1 (water) or version2 (glycelin).

Step 1: Parts, Materials and Tools

1. Air handling parts ( purchased parts information at the time I bought, just for reference)

  • solenoid valve: 8pcs
    (AliExpress, 1.79USD/pc, named "DC 5V 6V Electric Mini Micro Solenoid Valve Air Gas Release Exhaust Discouraged 2 Position 3 Way For Gas Air Pump”)
    • on the second photo shown above, its no-use outlet (open when power OFF) for this usage is sealed with a tube and a cable tie.
    • normal-close 2-way solenoid valve (only outlet which open when power ON) is better for this usage, because there is no outlet that must be sealed.
  • air branch pipe; eight outlets with valves
    (Amazon.co.jp, 1556JPY, named "Uxcell Aquarium Air Tube Bifurcation Elbow/8 One-Way Exit Lever Pump”)
  • air pump:
    Select a proper air pump at your own responsibility. Close all valves for a long time that may cause overheat of the air pump.
  • transparent acrylic pipe; ID7.0mm-OD10.0mm, length 220mm 8pcs
  • tubing; ID6-OD8mm, ID4-OD7mm, ID3-OD6mm
  • tube joint; L-shaped , I-shaped
  • acrylic board; transparent; thickness 2mm
  • acrylic board; black; thickness 2mm

2. Circuit board parts

  • ESP8266
  • OLED display; 0.91” 128x32
  • I/O expander IC; MC23017
  • LED strips; NeoPixel: 8pcs
    ( replaced blue LED with NeoPixel after the Youtube uploaded version)
  • FET; 2SK2412: 8pcs
  • Diode; IN4002: 8pcs
  • AC adapter; 6V-1.8A
  • misc. parts

3. Misc.

  • glass vase; transparent glass ; OD102mm - ID 96mm - Height250mm - Depth 240mm
  • water; 2L
  • box casing
    (glass vase is just placed on this box casing)
  • adhesive

4. Tools & etc

  • laser cutter to cut acrylic boards
  • misc. tools to assemble electric circuit board
  • accessible WiFi

Step 2: Cutting Acrylic Parts by Laser Cutter

Using laser cutter, acrylic parts are cut. Just for your reference, pdf files ( include adobe illustrator data) are attached. They are designed for the glass vase which I bought, specified on the previous step.

Parts list cut by laser cutter with acrylic board color information. Click the first picture to see the parts name caption.

  • BackPanel: black acrylic-board, 2mm-thick
  • PipeSupportBottom: black acrylic-board, 2mm-thick
  • PipeSupportUpper: transparent acrylic-board, 2mm-thick
  • PipeSupport: black acrylic-board, 2mm-thick
  • L-jointSupport: transparent acrylic-board, 2mm-thick
  • ValveSupport: transparent acrylic-board, 2mm-thick
  • NeoPixel support: transparent acrylic-board, 2mm-thick

Step 3: ​Assembling Air-handling Parts

  • L-shaped transparent tube-joints,commercially available parts, are used as nozzles. They are tightened in the holes of transparent acrylic part "L-jointSupport".
  • acrylic parts are put together as the photos.
  • solenoid valves and a air branch pipe are fixed on “ValveSupport” using cable ties.
  • nozzles, solenoid valves, air-branch-pipe, and air pump are connected by proper size tubing.

Step 4: Assembling Control Circuit

Just for your reference, my design note of circuit diagram is attached, may be hard to read. This diagram is an improved version, after the Youtube uploaded version on the top of this instructables article.

Some parts are selected in my hand, so that not optimized.

WiFi connected ESP8266 controls eight solenoid valves via I/O expander; I2C Interface, so that to display correct time on air bubbles also on the OLED display.

Eight NeoPixels are set in line glued on acrylic part (named "NeoPixel support-top") to be located under each air nozzles using "NeoPixel support-side" and "NeoPixel support-top spacer" to illuminate air-bubbles. They are installed in the box casing.

Step 5: Assembling Totally

air handling unit, circuit board and others are assembled totally.

Then, pour water about 2L in the vase.

Step 6: ​Arduino Coding

For your reference, arduino code is referred to here.
https://github.com/ShinodaY/bubble-clock

Please refer to other article regarding to ESP8266 arduino coding.

Sorry for not-smart code and Japanese comments.
At least, your wifi_ssid and wifi_password need to be input in line: wifiMulti.addAP("your_wifi_ssid", "your_wifi_password”);

Step 7: Tuning and Confirm

Tuning is important for making bubble character shape a better read.

1. tune the 8 manual valves of the air branch pipe to reduce variation of air bubble volumes from each nozzle, rising speed of bubble depends on its volume.

2. On arduino code; main OTA, following parameters define the air bubble volume and vetical gap between air bubbles, set them properly. Depending on the temperature of liquid and air hadling unit specs, these parameters are need to be modified.

・int bubbleDelay = 15; // delay time in m sec to keep solenoid valves open, define the air bubble volume

・int bubbleSeparateDealy = 1000; // delay time in m sec to define the vertical gap beteen air bubbles

You can modify / add font data on the arduino code what you want to display on your “Glowing Air-Bubble Clock”.

Close all valves for a long time that may cause overheat of the air pump. Confirm the air pump whether continuous close operation is available or not, at your responsibilty. Also, the durablity of solenoid valve shall be confirmed.

Thank you for your interest to my project “Glowing Air-Bubble Clock in Water".

Have a nice relaxation time with this clock!

Water Speed Challenge

Participated in the
Water Speed Challenge