Water Flow Gauge

Measuring the consumption of a resource that has units by volume can be more tricky than it sounds. Use of resources such as water, gas, and even electricity is typically measured by gauges that determine either instantaneous flow rate or cumulative volume over time. Both techniques have problems: measuring flow rate at frequent intervals allows you to do time-based reporting and generate a graph of how the flow rate varied over time, but to determine the total consumption by volume across a specific time period you then have to integrate the data and there is the danger of under-reporting usage if your sample rate is slow and usage rapidly fluctuates or spikes. Measuring cumulative volume makes it easy to determine total consumption across a period and is accurate in terms of total usage but to generate a flow rate graph you then need to calculate the difference between each sample, and if your recording interval isn't brief enough any short-term spikes in usage will be averaged out across the recording interval and may not show clearly on the graph.

Flow gauges typically output a series of pulses proportional to the instantaneous flow rate which means that to interpret them it's necessary to implement a simple frequency counter. This is actually the same way many car speedometers work: a wheel sensor outputs a pulse for each rotation of a wheel which means the pulse frequency varies proportionally to the vehicle speed. The speedo then displays a scaled version of the current pulse frequency to show instantaneous speed while the odometer displays a scaled cumulative pulse count to show distance traveled - both pieces of information are based on the same underlying data but they are recorded and displayed in different ways.

This project uses a flow rate gauge containing a Hall-effect sensor that outputs a pulse rate proportional to flow rate, so not only is it a useful project in its own right but it also demonstrates a very useful technique that you can use in a wide range of projects that need to measure the rate at which something happens. We've also included an LCD module so that the unit can report flow rate and volume both via the serial connection to a connected host and also directly via the LCD.

The example program calculates and displays current flow rate, and also maintains two cumulative counters of the volume that has flowed through the sensor. Two pushbuttons allow you to reset the counters independently so you can leave one counter running as a long-term accumulator and reset the other one occasionally prior to measure short-term events, such as the water consumed by filling a bath, running an irrigation system, or running a washing machine.

Water Flow Gauge Schematic

View as JPG: water-flow-gauge-schematic.jpg

View as PDF: water-flow-gauge-schematic.pdf

View as SCH: water-flow-gauge-schematic.sch

Source Code



Flow gauge data sheet (ZD1200, 1.5 - 25l / min) jaycar.com.au/products_uploaded/ZD1200.pdf

Flow gauge data sheet (ZD1202, 0.8 - 8l / min) jaycar.com.au/products_uploaded/ZD1202.pdf


No corrections reported yet for this project. If you find one please let us know.


Have you built this project or something inspired by it? Please let us know and we'll put a picture of it here!

Steve Gough of Little River Research & Design has used the flow gauge project in a high-tech river system simulator.

Learn more at "Open source science tools at LLRD" and emriver.com.