In case you want to build your own, read on...
- Arduino, e.g. http://www.adafruit.com/products/50
- Ca. 7 Neopixels, http://www.adafruit.com/category/168
- Flow sensor, http://www.adafruit.com/products/828
- LiPo battery, e.g. http://www.adafruit.com/products/1578
- LiPo charger, e.g. http://www.adafruit.com/products/1304
- Jumper wires M-M, e.g. http://www.adafruit.com/products/153
- Tube fitting the sensor
- Plastic test tube
- Some zip ties
- Soldering iron
- Hot-glue gun
Step 1: Preparing and testing the Neopixel LEDs
If you use Neopixels by the meter, cut off a piece of ~7 pixels and solder jumper wires as follows:
- Black wire to GND
- Yellow wire to DI
- Red wire to +5V
Take care to solder them to the right end of the strip. Compare the little arrows printed on the strip with the picture.
Read Adafruit's Neopixel best practices before connecting the pixels.
Download and install Adafruit's Neopixel Arduino library from
Open File > Examples > Adafruit_NeopPixel > strandtest
Change the number of pixels to fit your short strip.
Upload the code to make sure the pixels work.
(This code was the starting point of the hack.)
Step 2: Testing the flow sensor
(Image by Adafruit, CC BY-NC-SA)
Download the flow meter example code from
Connect the flow meter as indicated in the source code.
Rename .pde to .ino, open it and upload the code to the Arduino.
Testing works fine without water by blowing some air through the sensor.
Step 3: Connecting and testing the hardware
Download the Augmented Water source code from https://bitbucket.org/tamberg/waterhack/raw/tip/20...
(Re-)connect the hardware as indicated in the source code:
- Red flow sensor wire to +5V
- Red Neopixel wire to +3.3V
- Black wires to common ground
- Yellow flow sensor wire to pin #3
- Yellow Neopixel wire to pin #2
Upload the code to the Arduino and test it.
Your lung volume is hopefully larger than 1 Liter.
Use the serial monitor of the Arduino IDE to see numbers.
(Note that the code is a simple mash-up of the previous examples.)
Step 4: Creating a tap adapter
Cut a 6 cm piece of the (green) tube.
And another 4.5 cm piece (for later).
Now cut off the tip of the lab test tube.
Then cut it again, to get a piece of about 2.5 cm.
Push the 6 cm tube into it and make sure it fits tight.
To make it water tight, add some hot-glue inside the joint.
Then add a lot more hot-glue to "rubberize" the adapter piece.
Test the adapter by closing one end of the tube and blowing air through it.
(Wait for the hot-glue to cool down before doing this. I didn't and hurt my lips.)
Step 5: Putting everything together
Attach the two (green) tubes to the flow sensor, with the adapter at the top.
Use zip ties to attach the Neopixel strip to the above assembly.
Make sure the wires are at the upper end (with the adapter).
Use an additional zip tie to hold the flow sensor wire.
Then mount the Arduino on top of all this.
The Arduino's upper side should point inwards.
Make sure the USB port remains accessible for updates.
(All pictures taken after assembly.)
Step 6: Using the Augmented Water device
Make sure the LiPo battery is fully loaded.
Connect the LiPo to the Arduino.
- Black wire to GND
- Red wire to VIN
Stow LiPo "inside" Arduino.
Attach the device to the tap.
Turn on the tap (not too hard).
After ca. 1 Liter, LEDs turn red.
Turn the tap off again.