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

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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

Be the First to Share


    • Instrument Contest

      Instrument Contest
    • Make it Glow Contest

      Make it Glow Contest
    • STEM Contest

      STEM Contest

    23 Discussions


    1 year ago

    Blinking LEDs?


    1 year ago

    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?

    1 reply

    Reply 1 year ago

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


    3 years ago

    Here's a nicely integrated commercial version by


    4 years ago on Introduction

    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

    1 reply

    Reply 4 years ago on Introduction

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


    5 years ago on Introduction

    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

    1 reply

    Reply 4 years ago on Introduction

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

    hi i have couple of questions hope u can solve

    • Black wire to GND
    • Yellow wire to DI
    • Red wire to +5V the DI wire comming from where of arduino ? the digital Input any number ? 2ndly both yellow wires of sensor and led must in analog input of digital input of arduino :)
    6 replies

    Hi, the first part (step 1) desrcibes how to solder the wires to the LED strip. Connecting to the Arduino is further below (step 3). Hope that helps. Kind regards, Thomas.

    thanx so much for your reply ! can u please clear the pin no 3 and pin no 2 would be the digital input or analog input in arduino ?? where should i connect ?? and what if i can use 7v arduino power adapter instead of lepo ?just make connections of sensor and LED to arduino , programme it and power it up with charger is that ok ???

    You're right. For clarification: Step 2 needs digital pin 2 only. Step 3 needs digital pin 2 and digital pin 3.


    5 years ago

    Awesome idea! It would be awesome to see it used with an ATiny85 or an Arduino micro to shrinkify things a bit

    1 reply

    Reply 5 years ago

    Thanks! ATiny would be nice. Or even a simple counter circuit? I'd love to see an energy harvesting mod, e.g. inside an LED shower head...