DIY Arduino Water Meter

Working with the interaction design team, a bunch of us at Teague have been tinkering with measuring water, analyzing usage data in realtime to affect behaviors, and storing it to see patterns over time.

At the heart of the exploration was a need to cheaply measure water from the tap.  Water meters vary quite drastically in price (from $250+ for industrial grade sensors to $6 for garden hose attachments that limit total usage based on rough estimates).  We settled on a $20 water meter used for PC cooling systems (the INS-FM17N by Koolance) due to its accuracy, low price, small size, and electronic sensing method that could be easily measured by a microcontroller (such as an Arduino).

The meter comes with an electronic control box, but we found that integrating directly with the sensor was simple enough and saved us some additional wiring and space.  As water passes through the flow meter,  an impeller rotates and toggles an output line which can be used to calculate the amount of water used.  In addition to measuring the quantity, we also included a thermister (thermally-controlled resistor) to sense temperature.

Since we  wanted to have an internet connected data-stream of our water usage, we decided to try out the YellowJacket Arduino with built-in WiFi.  Data was then sent to the server at regular intervals when the water source was in use (from 1-15 seconds depending on the wireless setup and resolution desired).  Using a GET request with ID and usage information, the server was then able to store and retrieve sensor data.  The complete circuitry and code (see download link below) were both conceptually straight-forward and easy to implement.

Over a quick 2-hour build session with the team, we created 4 working units.  Each consisted of the WiFi Arduino, temperature sensor (shown on the right connected to the yellow wire), the flow meter, and two fitting adapters (for use in the shower).  We also hooked one up to our kitchen faucet, which ended up providing the most interesting data due to its frequent usage throughout the day.

To visualize the data and make sense of water usage patterns over time, we also put together a simple HTML5 graphing tool, called Flow.  Using a modular design, we were able to dynamically layout the content to fit screens of all sizes, from iPhone and iPads to laptops and projectors.  This allowed us to place a small display next to the faucet for immediate feedback, while still offering us a more holistic view to compare multiple sources and look at first-order trends.

And finally, to try it out yourself, here’s a ZIP file with the Arduino project, Eagle circuit schematic, and PHP/HTML5 code.  The files are tuned for our quick prototype setup, but should also be helpful if you’re just getting started with hooking up a flow meter or Arduino WiFi data connectivity.

Here’s a video that shows the entire system in action.

Photos and video courtesy of our very own IxD guru, Brian Monzingo.  Also, be sure to check out Teague’s Give Water initiative.  Enjoy!

November 4th, 2010

42 Comments »

42 Comments on “DIY Arduino Water Meter”

  1. 1 DIY Arduino water meter with iPad display | Jayesh Jain said at 12:01 pm on November 5th, 2010:

    [...] over at Teague Labs have been noodling around with measuring water consumption. They've built a graphing water meter using a YellowJacket Arduino board with built-in WiFi and coolant flow meter from a PC cooling [...]

  2. 2 DIY Arduino water meter with iPad display | Jayesh Jain said at 12:01 pm on November 5th, 2010:

    [...] over at Teague Labs have been noodling around with measuring water consumption. They've built a graphing water meter using a YellowJacket Arduino board with built-in WiFi and coolant flow meter from a PC cooling [...]

  3. 3 Un iPad pour monitorer ta conso d’eau. said at 12:05 pm on November 5th, 2010:

    [...] [...]

  4. 4 DIY Arduino water meter with iPad display | Products & Tech News said at 2:41 pm on November 5th, 2010:

    [...] over at Teague Labs have been noodling around with measuring water consumption. They've built a graphing water meter using a YellowJacket Arduino board with built-in WiFi and coolant flow meter from a PC cooling [...]

  5. 5 DIY Arduino water meter with iPad display | Luke Schantz said at 3:59 pm on November 5th, 2010:

    [...] at Teague Labs have been noodling around with measuring water consumption. They’ve built a graphing water meter using a YellowJacket Arduino board with built-in WiFi and coolant flow meter from a PC cooling [...]

  6. 6 DIY Arduino water meter with iPad display | dev.SquareCows.com said at 3:19 am on November 6th, 2010:

    [...] at Teague Labs have been noodling around with measuring water consumption. They’ve built a graphing water meter using a YellowJacket Arduino board with built-in WiFi and coolant flow meter from a PC cooling [...]

  7. 7 Membuat Water Meter dengan display iPad » Luthfi Emka said at 8:15 am on November 6th, 2010:

    [...] Salah satunya adalah memvisualisasikan tingkat konsumsi air mereka dengan iPad. Tepatnya mereka membuat water meter dengan YellowJacket Arduino, sebuah board komputer dengan wifi built-in dan mengukur aliran [...]

  8. 8 SCADA, Telematics & GPS Technologies » Blog Archive » DIY Arduino water meter with iPad display said at 10:44 am on November 6th, 2010:

    [...] [...]

  9. 9 Water use feedback changes behavior - Hack a Day said at 7:01 pm on November 7th, 2010:

    [...] but how much to you use? That’s what the team over at Teague Labs set out to find with this water usage feedback system. The sensor used is a Koolance flow meter which is intended to measure coolant flow in PC liquid [...]

  10. 10 Water use feedback changes behavior « Myhackz said at 7:08 pm on November 7th, 2010:

    [...] [...]

  11. 11 [dot]EXE » Water use feedback changes behavior said at 8:05 pm on November 7th, 2010:

    [...] but how much to you use? That’s what the team over at Teague Labs set out to find with this water usage feedback system. The sensor used is a Koolance flow meter which is intended to measure coolant flow in PC liquid [...]

  12. 12 ChrisJX said at 9:42 pm on November 7th, 2010:

    I think this is a great concept to be able to provide direct and immediate feedback to the person using water.

    What was the cost, in parts, of the system. I think this is an device and that we need to find a way to make this inexpensive and ubiquitous.

    Thanks for your efforts.

  13. 13 Tweets that mention Teague Labs » Blog Archive » DIY Arduino Water Meter -- Topsy.com said at 10:45 pm on November 7th, 2010:

    [...] This post was mentioned on Twitter by Jonathan Oxer, John Hart, Joao Goncalves , objektivs, mikeputnam and others. mikeputnam said: RT @jonoxer: Neat. Visual feedback of water usage using an Arduino and an iPad: http://labs.teague.com/?p=722 [...]

  14. 14 Ahorrando agua « Electronic Angle said at 11:03 pm on November 7th, 2010:

    [...] Para no entretenerlos, les dejo el video y si les sigue interesando, pasen por el post original [...]

  15. 15 Phil said at 7:16 am on November 8th, 2010:

    Nice and Clear Project. I like it :) .
    Looks a bit like the LED-Water-Meter which get sells at thepiratebay.

  16. 16 Mate Javor said at 1:23 pm on November 8th, 2010:

    this is a very good thing! I try to go-green also myself, using solar power in my flat for such things, and saving energy. Can you send me some info about how/where and for how much I can buy the stuff to build an equipment like this?
    I guess all company-offices, kitchens, lavatories must have at least one like this to make people THINK…. This is a VERY good idea! I like it.

  17. 17 Teague » Give water. said at 12:19 am on November 9th, 2010:

    [...] for the DIY Arduino Water Meter can be found at Teague [...]

  18. 18 Connecting Bloggers » Blog Archive » Water use feedback changes behavior said at 6:39 am on November 9th, 2010:

    [...] but how much to you use? That’s what the team over at Teague Labs set out to find with this water usage feedback system. The sensor used is a Koolance flow meter which is intended to measure coolant flow in PC liquid [...]

  19. 19 Как дизайн спасет мир | Fresh: новости мира юзабилити said at 10:28 am on November 9th, 2010:

    [...] с динамическим сбором статистики (статья в 3DNews) DIY Arduino Water Meter (заметка о проекте в блоге Teague [...]

  20. 20 Would just knowing change your behavior? | Metro DC Mom Blog said at 3:11 am on November 10th, 2010:

    [...] to Teague Labs, they were able to reduce water usage just by providing instant feedback (Watch their video. It's pretty [...]

  21. 21 Arduino Blog » Blog Archive » Massimo Interview for FairCompanies About Arduino said at 6:50 pm on November 15th, 2010:

    [...] DIY Water meter [...]

  22. 22 Massimo Interview for FairCompanies About Arduino | dev.SquareCows.com said at 6:01 am on November 16th, 2010:

    [...] DIY Water meter [...]

  23. 23 Norm said at 8:31 pm on November 25th, 2010:

    I am not too technical but could this be adapted to a direct read meter. I need to measure the flow in my solar water heating system so it can be adjusted to between 3 and 5 CFPM.
    Suggestions?

  24. 24 Una respuesta modifica tu comportamiento » MakeMeMinimal said at 2:20 pm on January 8th, 2011:

    [...] un predecible experimento. Motivados por el problema de la escasez de agua en el mundo, decidieron desarrollar un dispositivo para medir el flujo de agua que sale de un grifo. Luego optaron por mostrar los resultados en tiempo real a través de un iPad™ colocado en la [...]

  25. 25 DIY Arduino Water Meter | splitinteractions said at 5:09 pm on January 11th, 2011:

    [...] http://labs.teague.com/?p=722 [...]

  26. 26 Seametrics said at 2:52 pm on January 12th, 2011:

    Thanks for the thought.

  27. 27 Top 5 -_- (WERS) « Nación Arduino said at 9:40 pm on January 15th, 2011:

    [...] 1 – DIY Medidor de Agua Arduino con visualización en iPad [9] [...]

  28. 28 Arduino Flowmeter « DaveBMiller said at 9:28 pm on January 18th, 2011:

    [...] with Teague’s DIY Arduino Watermeter, I’ve made some modifications to the code to compensate for the fact that I’m not using a [...]

  29. 29 Watermeter op je iPad met Arduino – DIY Arduino Water Meter | Medialab 2010 – 2011 | Projectblog Team 2, Oasen said at 11:04 am on February 17th, 2011:

    [...] Watermeter op je iPad met Arduino – DIY Arduino Water Meter Working with the interaction design team, a bunch of us at Teague have been tinkering with measuring… [...]

  30. 30 Electronics-Lab.com Blog » Blog Archive » Arduino based water usage meter said at 8:23 pm on March 11th, 2011:

    [...] Arduino based water usage meter – [Link] [...]

  31. 31 Matt said at 2:58 pm on March 23rd, 2011:

    Hi,

    Can I ask for more details on the additional wiring required to “interface with the flowmeter directly” – I am trying to do something similar.

    Thanks,

    Matt

  32. 32 Dave said at 5:40 pm on March 29th, 2011:

    What kind of fittings did you use to interface with the Koolance meter? I’m having a lot of trouble with leaks, are you just ‘cheating’ with a 1/4″ NPT fitting (the photo shows nylon fittings, which are easier to ‘cheat’ with than brass).

  33. 33 Dave said at 10:55 pm on April 17th, 2011:

    The threads on the FM-17N are not standard ISO/BSPP 1/4″. The diameter is too wide. Use the Koolance fittings to avoid leaks (Swagelok 1/4″ ISO straight thread fittings will not fit properly, and will not seal (BSPP is meant to seal against a gasket).

  34. 34 Not Relevant said at 12:14 pm on July 20th, 2011:

    Now they need a power consumption meter, too.

  35. 35 Larry said at 4:11 pm on August 4th, 2011:

    I am new to Arduino’s, but does the YellowJacket require an additional Arduino board like the WiFi shields out there? Or was the YellowJacket completely stand alone and had everything in one? Thanks in advance for the help!!

  36. 36 akumpf said at 4:43 pm on August 4th, 2011:

    Larry, the YellowJacket contains an Arduino-compatible core and a WiFi module in one. It’s a pretty cool little device, but I think AsyncLabs (the company that used to make them) has since moved on.

    There’s at least one other company making the YellowJacket now (see Rugged Circuits: http://ruggedcircuits.com/html/yellowjacket.html ), but we haven’t tried it so I can’t vouch for it. The original YellowJacket worked, but took quite a bit of WiFi wrestling to get it up and running on non-open (WPA, WEP, WPA2) networks. Maybe there’s new firmware out there that helps that, too.

    Have fun playing with Arduino+WiFi!

  37. 37 Andy said at 4:09 pm on September 30th, 2011:

    Hi Guys – can you let me know how your server side setup works? How/what are you storing, and how does your Flow code pick it up?
    Sorry, Im not the best programmer in the world ;)
    Andy

  38. 38 Hector said at 5:43 pm on October 23rd, 2011:

    What is the formula for calculating the amount of water?

  39. 39 Sergio said at 8:31 pm on November 6th, 2011:

    Really nice project :)

    I’ll be really interested in doing one of this for myself.

    Any change you publish the source code as well as some diagrams?

    How does the flow meter output its values?

    Thanks

  40. 40 DIY Arduino Water Meter | PyroElectro - News, Projects & Tutorials said at 6:02 pm on December 2nd, 2011:

    [...] method that could be easily measured by a microcontroller (such as an Arduino).” PyroFactor: Read Permalink  |   Email This [...]

  41. 41 Cooling | Pearltrees said at 10:27 pm on February 5th, 2012:

    [...] Water meters vary quite drastically in price (from $250+ for industrial grade sensors to $6 for garden hose attachments that limit total usage based on rough estimates). We settled on a $20 water meter used for PC cooling systems (the INS-FM17N by Koolance ) due to its accuracy, low price, small size, and electronic sensing method that could be easily measured by a microcontroller (such as an Arduino). The meter comes with an electronic control box, but we found that integrating directly with the sensor was simple enough and saved us some additional wiring and space. As water passes through the flow meter, an impeller rotates and toggles an output line which can be used to calculate the amount of water used. Labs » DIY Arduino Water Meter [...]

  42. 42 MAKE | DIY Arduino water meter with iPad display said at 10:51 pm on May 15th, 2012:

    [...] at Teague Labs have been noodling around with measuring water consumption. They’ve built a graphing water meter using a YellowJacket Arduino board with built-in WiFi and coolant flow meter from a PC cooling [...]


Leave a Reply