For years I have been able to monitor the power usage of the home with the Power Node.  One project I have been meaning to tackle is to monitor the water usage as well.  The photo below shows my main water meter.  I also have a "sub-meter", which measures the water usage in the garden.  I do not pay for sewer charges for water used by this latter meter, saving me a lot of money during the growing season.

Photo of the front dial of the main water meter.  It is a "Model 25L" with a Thermoplastic body
per the company web site.  Note the copper wire seal near the bottom left of the picture.

The unit is a "disk meter" which is a positive displacement type.  The meter consists of two parts: the collection unit, and the counter unit.  Water flows through the sealed collection unit and turns a magnet to transfer the water usage information to the counter unit which sits on top and has the dials.  The spinning magnetic field allows the collection unit to be completely sealed for long life.  The counter unit also has a remote display mounted outside the home for easy reading by the utility company.  The meter sends one pulse down to the remote unit for every 100 gallons of water used.

The sensor

My first idea for a sensor explored the pulse that the counter unit sends to the remote display unit.  Unfortunately, one pulse is sent for every 100 Gallons, and this is much too low a resolution for my use.  My second idea was to pick up the small white arrow on the water indicator dial (marked "10 Gallons" on the front dial) using an optical reflective sensor.  Since this indicator makes one revolution per 10 Gallons, I decided to use four phototransistors arranged in a circle to increase the resolution to 2.5 Gallons.
I built the LED and phototransistor circuit and mounted it onto a small piece of perforated printed circuit board and a solderless breadboard.  In actual tests I found that it was very difficult to pick up the small white arrow.  I was concerned with the difficulty in aligning the sensor over the dial's window, and drift with voltage and temperature.  After a few days of optimizing parameters such as component values and sensor placement, I gave up on this idea.
My third idea exploits the fact that water usage information is transferred magnetically from the collection unit to the counter unit.  This means that the flow of water causes a spinning magnetic field.  I wondered if I could pick up water flow information by sensing this magnetic field.  My initial tests with a simple magnetic field sensor -- a compass -- proved promising.  As water flows, the compass needle flickered at a rate proportional to water flow.

Hall-effect sensor with the wiring attached.

I use a miniature Hall-effect magnetic sensor switch in my weather node's anemometer, and decided to see if this sensor could pick up the field of the spinning magnet in the collection unit.  To my delight, this worked, and I was able to have the sensor produce a pulse for every rotation of the magnet in the collection unit.  Since this magnet spins very fast for a modest usage rate, I would be able to gather water usage with a very high resolution.  Note that picking up the water flow by inductive means will not work very well.  At high flow rates, and a fast magnetic field, an inductor may work, but at very low flow rates, the coupling will be almost nonexistent.  You may have to experiment with various sensors, or use one on Digi-Key's website.  I was able to find several units that appear identical to the one I have.

Calibration and use

While filling a container, I observed the number of counts detected from the sensor.  I measured 100 counts per gallon, and since this is a nice round number, I presumed that the designers' intended for 0.01 gallons per revolution of the drive magnet.  Being able to measure the water usage down to the nearest one hundredth of a gallon is quite amazing to me, as this is much higher resolution than I need.  Since this is essentially a digital measurement, the reliability is very high.  The software on the power node was updated to keep track of the number of pulses on this sensor, and the accumulated byte is sent to the Home Control Program when queried.  A 32 bit quantity is used in the program to track this byte's rollover.  As long as the byte does not roll over between polls of the counter, no water usage will be lost.  In the current configuration, the system can handle any water flow rate that is less than about 150 gallons per second.

With suitable software, it is even possible to double the 0.01 gallon resolution by counting not just the rising edges of the Hall-effect sensor, but also the falling edges.  Thus it is possible to measure the water use of the home to almost within a tablespoon (15ml).

As with all other data collected by the Home Control Program, water use can be plotted over the course
of one day.  Here, the water usage in gallons is shown (in yellow) along with the powerline voltage (red),
and the power usage in KWatts (green).  As the user pauses the mouse over the graph, the corresponding value
is shown with a thin black line and the time below.  Thus at 2:40pm, the Total Power was 0.4KWatt, and
the power line voltage was 120.0 Volts.  By then, we had consumed 79.5 Gallons since midnight.


Not counting the phototransistor-based attempt, the total cost was very low.  Just a few dollars for plugs and jacks to allow easy disconnection of the added hardware to the Power Node.

Water Meter Monitor - Revisited

In May 2005, both of my water meters were replaced with new 3/4" T-10 units from Neptune.  To my dismay, the above sensor no longer worked.  The weaker magnetic field was confirmed with a compass.  Based on the amount of angular deflection of the compass needle (~10 degrees), and the estimated field strength of the earth (~0.5 Gauss), I estimated that a sensitivity in the range of 0.1 Gauss would be needed (I do not recall the field strength of the old water meter).

One of the two new water meters.  There is a main and a sub-meter.  The latter
allows me a price break for water used in the garden.  The brown wire leads to
an object on the outside of my home that allows the meter to be read electronically.

Looking on the Internet, I found just the kind of device that I was looking for: an analog field strength meter that was sensitive enough to detect the earth's magnetic field.  This unit is the MG-BTA from Vernier Software and Technology.  It costs a reasonable $52, and had a simple analog interface.  Other analog sensors with displays were about $600.

Magnetic sensor
Image from Vernier's web site on the magnetic sensor.
The sensor is on the end of a probe, which makes
it convenient to locate next to the water meter.

After I received the sensor, some experimentation showed that it would certainly detect the spinning magnetic field of the water meter.  See the plot below.  It shows actually two 'dips' per revolution of the magnetic drive.  This implies that there are two spinning magnets, each negative dip being a separate magnet.  The peak-to-peak amplitude is about 0.1V.  Based on the sensitivity of the meter (1V=1.6 Gausss), the amplitude of the magnetic field at the perimeter of the water meter is 0.16 Gauss.

Output voltage of the sensor when held near the Neptune water meter.

The sensor has the following pinouts (from pin 1 to 6 of the original connector):
  • Yellow - 10V out (unused).
  • Black - Ground.
  • Green - Vres (unused).
  • Brown - Identifier (unused).
  • Orange - 5V supply (only 10mA current required).
  • Red - Sensor Output.
I initially tried some a differential amplifier circuits, but found that a simple comparator would work better since it consumes less power, and can directly drive the digital output that used to be driven by the Hall-effect sensor.  Unfortunately, the comparator I had in my parts bin is an LM339, a quad unit, causing three of them to go unused.

meter circuit
Circuit that converts the analog output to digital pulses for reading by the Power Node.

Test setup for the above circuit in my basement.  Note the old sensor on the coil of wire to the right.

The above circuit was constructed on some 'perf-board', and pluged into the Power Node for power and data interface to the Main Home Control computer.  The LED is useful for adjusting the threshold of the sensor.  R3 is adjusted until the LED blinks when someone is using water in the home.  I was concerned that the small signal amplitude would cause the circuit to be prone to drift, but that has not occurred.

The finished project.  Note that the sensor is conveniently packaged on the end
of a rod, which allows it to be held as close as possible to the meter.  The strongest magnetic field will be right at the interface between the water turbine part (bottom
brass part), and the meter dials (top black part).

The above picture shows the finished result.  The sensor rod was fastened near the interface between the dial counter (top) and the water turbine (bottom).  It results in a very clean interface.

In October 2009, Bryan Mumford, whom I assisted in building his own sensor setup, sent me some information on his sensor.  By opening up his unit, he found that the sensor chip is the Sentron CSA-1VG.

Screen snap of the web page for the sensor chip
that is used in the field strength meter.


Long term update/Project Log

Example of the Home Control Display if a water
leak is suspected.  Current water use to this hour is 14.0 Gallons, but
the minimum flow rate was higher than expected.
  • September 9, 2004. Dishwasher (Whirlpool) uses 9.1 Gallons of water per load.  This takes less water than handwashing a whole load.
  • May 13, 2004.  Both water meters changed to Neptune units.
  • May 21, 2004.  Conversion from Hall-effect sensor to analog magnetic sensor.
  • Oct 15, 2009.  Added note from Bryan Mumford.
  • Watering and Conditioning Avas Flowers:

Main Home Automation Web Page

Back Home

(c) Edward Cheung, 2009