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!

44 responses to “DIY Arduino Water Meter”

  1. […] 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. […] 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. […] 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 […]

  4. […] 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. […] 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. […] 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 […]

  7. […] 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 […]

  8. […] 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 […]

  9. ChrisJX says:

    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.

  10. […] 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 […]

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

  12. Phil says:

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

  13. Mate Javor says:

    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.

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

  15. […] 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 […]

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

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

  18. Norm says:

    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?

  19. […] 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 […]

  20. Seametrics says:

    Thanks for the thought.

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

  22. […] 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 […]

  23. […] 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… […]

  24. Matt says:

    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

  25. Dave says:

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

  26. Dave says:

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

  27. Not Relevant says:

    Now they need a power consumption meter, too.

  28. Larry says:

    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!!

  29. akumpf says:

    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!

  30. Andy says:

    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

  31. Hector says:

    What is the formula for calculating the amount of water?

  32. Sergio says:

    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

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

  34. […] 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 […]

  35. […] 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 […]

  36. Marisa C. says:

    Adam,Hola!
    My name is Marisa and I am getting ready to teach the water cycle and conservation to 5th grade students. I was excited to see your water innovation! I would really love to have my students build water meters for the school. I would appreciate anything you have to share in regards to how to get my 5th graders building water meters: what materials to use, where to purchase these materials, directions, any scientific back ground they might need to know, web-sites that I can use to do my own research, and software or computer programs/apps we may need to acquire in order to do such a project.

    Thank you in advance for all you may be able to share!

  37. Juri says:

    Hello! An interesting project! But I have a problem when you try to send a request to the server. The server responds: “Invalid userID”. What to do?

Leave a Reply