Augmented Water





Introduction: Augmented Water

The Augmented Water device helps you save water by turning red after one Liter. The device, built by @tamberg during a water hackathon, is made from an Arduino, a flow sensor and coloured LED pixels.

Video (thanks kiilo)

In case you want to build your own, read on...



  • Soldering iron
  • Hot-glue gun
  • Saw

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

(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.

Save water.

Thanks! @tamberg



    • Paper Contest 2018

      Paper Contest 2018
    • Pocket-Sized Contest

      Pocket-Sized Contest
    • Science of Cooking

      Science of Cooking

    We have a be nice policy.
    Please be positive and constructive.




    Blinking LEDs?

    The Description says: After "1 Liter" the Sensor will turn red. 1 Liter only? or you can change the liter you want or desire in this project?

    You can adapt the amount in line 120 where it says "if (liters > 1) { ... }"

    Here's a nicely integrated commercial version by

    could you draw any power from the flow sensor? maybe this could eliminate the need for a battery. Combine this with a smaller board and you have a very compact water saving gadget

    Yes, using a motor / generator to power the Arduino and count "1 Liter" of uptime with millis() might work.

    Just for the record: there's a commercial product since at least 2011 called WaterPebble that does something similar in a way smaller package. See

    The link does not open. Though found something at this address – Not sure if it's genuine water pebble.

    and if i do not use the lipo battery i can use the 7v -12v adapter come with arduino ?