Does this project spark your interest?

Become a member to follow this project and don't miss any updates

Remote Water Consumption Display

Design and build a simple, inexpensive, and manufacturable remote indicator for the most common type of mechanical water meter in use today.

23 54 45
Enjoy this project?
Share on twitter   Share on Facebook

This project was created on 06/13/2014 and last updated 15 days ago.

My project is to design and build a remote display for the most common type of mechanical water meters in use today. This system needs to be inexpensive, simple to install, and simple to use. In short, my Dad has to be able to use it. In its basic form, there will be a "sender" that is installed outside at the water meter, and a receiver placed inside the home. The receiver will display immediate water usage, along with historical consumption data. Further, the receiver will be able to connect with the consumer through the Internet to provide regular reports, as well as alert them to possible problems (pipe breaks, leaks, etc.).


Water is an issue now, and it will continue to be an issue in the future. Global warming, watershed reduction, waste, whatever the reasons, the availability of clean water is already a crisis in many parts of the country, and there is nothing to indicate the situation is going to improve any time soon. A major part of dealing with the water crisis is conservation, but that is not exactly easy.

Sure, "just use less water" is pretty easy, but we're humans. Unless you have your local water cop tapping you on the shoulder a few times a day you're going to forget. And if you're like the vast majority of Americans, you have absolutely no idea how much water you've used until your monthly utility bill comes. And that's a problem. You simply can not address a problem that you can not see, and you can not address the problem effectively if you do not have rapid feedback from changes and visibility of immediate measurements. That's what I want to solve.

There are a few similar projects out on the Internet, and while they are good, they have not been designed for simplicity, or for manufacturing.

While this project will likely result in a manufacturable product I have no intention of doing that myself. With all of my designs for this project being totally open and free, it is my hope that someone with the resources to bring it to market will use my work as either an inspiration or an actual foundation for a real product. If nothing else, maybe a lot of Makers can duplicate my project, and together we can save a little water. :-)

As it stands right now, I have nothing more than an idea and a rough block diagram. I will be chronicling the entire project here, from initial design, prototyping, design revisions, right on through to the final form. I hope you click on "follow" and come along for the ride.


I really think this is going to be fun. 8-)


Oh, by the way ... I'll probably be talking about this on Twitter and G+

  • 1 × PIC12LF1840 Transmitter: Microcontroller
  • 1 × MAG-3110 Transmitter: 3-Axis Magnetometer Sensor
  • 1 × TWS-BS Transmitter: RF transmitter module, 4800 baud serial
  • 1 × MCP1702-3302 Transmitter: 3.3V LDO Voltage Regulator

Project logs
  • Log Entry #6 : Harbor Freight for electronic components????

    15 days ago • 0 comments

    My prize entry needs a solar charged battery back to power the sensor and transmitter I'm placing in front of my house. Rather than spending a whole lot of time finding domestic suppliers of small photovoltaic panels and trying to spec a nicad or nimh battery pack, I decided to buy a "60 LED Solar Security Light" from Harbor Freight just a few miles from here. The list price was $32.99US, but it was on sale, plus I had a 20% off coupon so it ended up costing me about $20.00US. I doubt that once you consider shipping, I could have bought a solar panel and battery back for less than that. What's more, I ended up with a big LED panel and a motion detector module for use in future projects.

    Here is the video of my tear-down and analysis of the light:

    The photovoltaic panel and battery pack are going to work great for my project. I think I will duplicate the single-diode "charging circuit": It just can't get simpler than that. Next up, code for the transmitter.

  • Log Entry #5 : A water meter simulator????

    19 days ago • 0 comments

    So, I started working on the code for the sensor/transmitter.

    I'd edit code on my bench, flash the chip, haul it all outside to the meter, test it, haul it all back inside, and repeat.

    Now, this is Arizona, and it's about 110F out there. I did about 3 cycles of that before I decided something had to change. 

    I dug around in my shop and came up with a nice little DC gear motor. I attached a magnet to the shaft and tried it out. I pretty quickly figured out that the windings and magnets in the motor were creating a larger field than the magnet on the shaft. Then I got a piece of dowel and extended the magnet away from the motor. This worked well, I could read the magnet without getting magnetic interference from the motor itself. Then another problem cropped up. I was using a variable bench power supply to run the motor. It worked fine, but when I tried to slow the motor down (water meters can run VERY slowly) by reducing the voltage, the motor would just stall. The slowest I could get the motor to reliably spin was about 20 RPM, not nearly slow enough. It seemed pretty clear to me that what I needed was as actual motor controller, and down another rabbit hole I went.

    I decided that I needed a PWM motor controller. Since in a PWM system the motor always sees full voltage (just varying duty cycle) it should run a much lower speeds without stalling. Torque from the motor will also fall dramatically, but in this application there is virtually no load on the motor anyway. 

    I decided to use a Microchip PIC12F1840 microcontroller for my motor driver. I selected this chip because 1) it has an analog to digital converter built in, 2) It also has a PWM generator on chip, and 3) I had a bunch of them laying around. It only took me a few hours to draw up a schematic, find all the parts in my shop, and put the thing together on a breadboard. You can see the schematic HERE.

    After another few hours, I had basic software running to do the analog conversion of the voltage level from the speed setting pot, and basic functionality of the PWM generator contained in the PIC. In the above picture you'll notice an LCD display. That display is not part of the final circuitry. I have a few LCD displays with serial backpacks installed and find them invaluable for writing code for microcontrollers. They only take up one pin (TX), and you can send all sorts of debug or status messages to them while you're writing/debugging your code. Once the code is done you can pull out the LCD display and delete the display code from your source. 

    I was going along fine until I hit a roadblock in the code that had me banging my head on my desk for a couple hours. Luckily Jayson Tautic, a friend from IRC, found the bug. Let's just say that MAYBE I should give up doing binary conversions in my head from now on. Changed a "512" to "256", and it ran perfectly. Thanks Jayson!!

    Once I had the code running well, I transferred the circuitry to a little PIC-specific dev board. I tested that construction with the new code and it worked very well. From there, I found an old slat of redwood and mounted the board, motor, pot, magnet, and the sensor. The final result worked perfectly. Using this system I was able to get the motor turning reliably at about 5 RPM. Slower would be better, but that's plenty slow enough to test my sensor, and develop code for the transmitter. 

    Since this little motor controller project isn't really part of my contest entry, it didn't seem right to fully document it here. I did, however, write up a complete blog post on my website that details the circuitry, and provides all of the source code for the PIC (Public Domain). You can find that page here:

    So that's how I spent Labor Day weekend.

    I have two goals for this week:

    First, I want to get that solar flood light I bought from Harbor Freight torn apart (the true "hack" part of this project) and start looking into scavenging it's panel, batteries,...

    Read more »

  • Log Entry #4 : The Water Wheel Display

    a month ago • 1 comment

    So, I got a little distracted. I was thinking about the user interface for the receiver end of this project. I've always planned on using a 4-line LCD ( or VFD ) display to present water consumption data to the end user. But it occurred to me that once a person is used to the box sitting there they won't notice it much. Since the whole point of the project is to remind and notify users of their water consumption, I'd need to add something a bit more obvious as an output device in addition to the text display.

    I decided that what I needed was a ring of LEDs. One LED would always be lit, and it would step around the circle at a rate that corresponds to the water flow rate as measured from the meter. When the user walked through the room containing the display it would be difficult to not notice the moving display, particularly if it's spinning madly indicating a large flow of water.

    I felt that using 16 LEDs would present a nice, contiguous circle. If you look around the web you'll see dozens and dozens of people driving rows of LEDs with shift registers, like the 74HC/LS595. Unless they only ever turn on one or two LEDs at a time, they're all doing it wrong. The '595 can't handle that much current. To drive my display, I chose the TLC59282 from Texas Instruments, available from Digikey. This part is a 16-bit shift register, but it adds constant-current sink drivers to all the outputs. Choosing one resistor sets the current for all of the LEDs. Further, it has a "BLANK" input which enables/disables all of the LEDs. 

    It also occurred to me this circular display could be handy in other circuits and applications, so decided to make it a stand alone sub-assembly.  I almost always breadboard my circuits before committing to a PCB design, but this chip is so simple that I went ahead and ordered PCBs and components at the same time.

    NOTE: You can buy these boards!  I will post links to the gerbers (when I figure out how) but in the mean time, if you would like to use this display board for one of your projects you can buy them (in sets of three) from here.  I do not make a penny off of this!  I simply set up OSHPark to share my design, and others can order board sets directly from them. 

    You COULD install all of the parts on the same side of the PCB, but my intent is to install the LEDs on the front side, and everything else on the back. If I end up installing this behind something like a tinted panel, I may want to paint the front side (before installing the LEDs) with flat black paint so that you won't see anything but the LEDs through the panel. 

    The single resistor sets the current level provided to all of the LEDs connected to the display. The data sheet provides a large table to select this resistor value based on desired current and supply voltage. In my case (5V supply, 20mA) the value came out to 2.5K ohms. 

    It took a little time to select the LED I used. I wanted it to be blue ( because ... well ... water), I wanted it to be in a diffused package so it wasn't glaring, and I wanted to to be fairly low power. I finally found the MT5470-BL, available from Digikey.  I am very pleased with these LEDs except that they are still VERY bright, far too bright for this application. Luckily there is the "BLANK" pin on the driver chip. I set up the microcontroller (PIC16F1509 in this case) to generate a PWM signal, and applied that to the "BLANK" pin of the display driver.  This approach worked very well, and I found that providing a duty cycle of about 5% on time gave me the brightness I wanted. What's more, if I have time this opens up the possibility of including an ambient light sensor and have the system automatically set the LED brightness based on how light it is in the room. 

    Now, in this application, there will be a single LED lit and it will progress around the circle indicating...

    Read more »

View all 6 project logs

Build instructions
  • 1

    Build Instructions.


    I'm honestly not sure what to put in this section, but the rules say I need build instructions.

    I mean, I am posting all of the schematics in the Build Log entries, All of the source code is up there. When I get to the point I have PCBs the artwork will be posted, and everything about this project is open source.

    So, I guess the Build Instructions are as follows:

    1) Buy all the parts as I've listed them above.

    2) Wire them together as per the schematics I've posted above.

    3) program the microcontrollers from the source code I've linked up there.

    That's about it. I'm really not trying to be flip or insulting. As I go along if some aspect of this project needs a more in depth explanation, I'll certainly add it.

    And in the mean time, if YOU think of anything I should include in this section PLEASE do not hesitate to leave a comment for me!


Eric Tsai wrote 6 days ago null point

I'm doing a home automation project myself. Your idea of using the magnetometer is great. I didn't know the wheel thing has a rotating magnetic field. I'm excited to give this a try.

My home automation project has many of the elements yours does - wireless transmitter, a server platform. I'd like to do some alarming for long periods of water usage, which might indicate that someone forgot to shut off something.

Just wanted to express my appreciation for the idea.

Are you sure? [yes] / [no]

hackersbench wrote 5 days ago null point

Thanks, and good luck with your project!
I'd be interested in hearing how it goes.

Are you sure? [yes] / [no]

Jac Goudsmit wrote a month ago null point

Congratulations on making it to the last 50 of the Hackaday prize!

Are you sure? [yes] / [no]

joram wrote a month ago null point

Also consider metric units, for those non US residents. You might also add a second sensor on the hot water flow for example, to measure the consumption of heated water, with temp sensor. As a matter of fact, a tempel sensor on the cold input alsof makes sekse. We alsof Reuss rain water, zo mocht as welk measure that amount. Thuis gives an overview off all the water consumption of a household. As input we could measure the inflow on the rainwater tank. Just if you run out of ideas...

Are you sure? [yes] / [no]

Jelli wrote 2 months ago null point

You will find the hardware you are looking for at, and There are several major companies releasing consumer products very soon.

Are you sure? [yes] / [no]

Rogan Dawes wrote 2 months ago null point

I'm fascinated with the idea of measuring water flow, and doing real-time reporting, not so much for individuals (although that's certainly important!) but also at a utility level.

For example, i f you have a main pipe that is recording 100l/s flow, and 3 subsidiary pipes that are reporting 10l/s flow, you either have exceptional demand from the consumers between the main pipe and the subsidiary pipes, or you have a burst pipe somewhere. Being able to detect that and react in real time without waiting for a resident to report it would be incredibly useful.

One problem I have is powering the sensor and transmitter, of course, but I was wondering how difficult it would be to "siphon" off a little energy from the flow of water itself. Obviously I don't want to put anything into the pipe that would obstruct the flow, or be at risk of damage when the inevitable grit and small stones get into the pipes during maintenance. I have just discovered that water is diamagnetic, and wonder if there is a way of using that property in conjunction with a powerful magnet to generate enough energy from the flowing water to power the sensor and the transmitter.

Are you sure? [yes] / [no]

CasualCasual wrote 2 months ago null point

Have you done power consumption tests for the magnetometer and wireless transmitter? I imagine the wireless transmitter will be the big power hog. I've seen power specs for that Mag at about 24uA, along with 10uA for the PIC, with .55ah per 9 volt is about 2 years of run time, but the transmitter needs about 8mA, which if running constantly would only give you about 3 days of run time.

This is a really interesting project, and I'd be interested to see exactly how much water I'm using during my overnight lawn watering.

Are you sure? [yes] / [no]

DeepSOIC wrote 3 months ago null point

And how about optical readout? I've seen people make covers (or shields) over standard water meters which have a led-phototransistor pair sensing the rotation of a black cogwheel. Does your meter have such a cogwheel (a black asterisk-like thing that spins)? Looks like these cogwheels are added deliberately for the purpose.

Are you sure? [yes] / [no]

DigiGram wrote 3 months ago null point

I really like this idea. Our water measurements are not taken monthly for the bill, they just estimate (recently bought a house and the meter was not read in over 2 years!) So we have to read the meter monthly and email the reading in. Something like this can be scripted to automatically send the readings monthly (and my wife has asked me for something like this just last month). I'll be following your progress.

P.S. I like your way of going about it without changing the plumbing etc!

Are you sure? [yes] / [no]

hackersbench wrote 3 months ago null point

Thanks for the comment! My motivation .. a few years ago we had an underground irrigation pipe break and I had no clue until we received a multi-thousand dollar water bill. (I settled the bill for much less) But still, I want to be able to keep an eye on it.

Are you sure? [yes] / [no]

Adam Fabio wrote 3 months ago null point

Great Idea! Many people take it for granted, but water is a precious resource. I can't wait to see how you implement your meter side sender. Don't forget to document your design as you go along, and thanks for submitting to The Hackaday Prize!

Are you sure? [yes] / [no]

hackersbench wrote 3 months ago null point

Hi Jac. (Don't know why this thing won't let me reply directly to your comment) I think there are a few issues with using a RPi and camera in this application. First is obviously cost. Then there's complexity. I envision a system where you place a sensor near the meter and you're done. With a RPi and camera you have to mount and aim the camera, and teach the vision system what to look for on the water meter: Fails the "my Dad can do it" test. :-) And power. A PV panel and battery pack for a sensor and simple transmitter will be fairly modest, while powering a RPi and camera would take a LOT more juice. And finally there's the nincompoop city meter reader. If he bumps that camera, you'd get to start all over again. I don't think it would be "cheating", and it would be a cool project. It just doesn't mesh with what I'm after.

Are you sure? [yes] / [no]

hackersbench wrote 3 months ago null point

Yes, that would be ideal, but adding a new flow sensor would vastly increase the cost. I've decided that a design requirement is that the system can not require modifications to the existing plumbing. Essentially, I want to read the meter that is already there. The mechanical meters I'm talking about have an internal magnetic coupling, and I plan to detect that externally.

Are you sure? [yes] / [no]

zakqwy wrote 3 months ago null point

Makes sense. Great start!

Are you sure? [yes] / [no]

Jac Goudsmit wrote 3 months ago null point

Have you thought of just putting a Raspi with a camera on the meter, and running some software to either transfer pictures over Wifi, or (a bit more difficult) read the numbers straight off the camera picture and process the data in cool ways e.g. build statistics files, show the difference between now and yesterday etc.)? That way you don't need sensors to sniff out the magnetic coupling. Of course, on the other hand, you could argue that that method would be cheating, and probably also less fun ;-)

Are you sure? [yes] / [no]

zakqwy wrote 3 months ago null point

Have you thought about an electromagnetic flow measurement system? Better reliability and accuracy vs mechanical meters, but a bit tougher to design and build.

Are you sure? [yes] / [no]

CasualCasual wrote 2 months ago null point

You'd have to put that in-line with the main supply valve, and water companies get skittish when they see that you've mucked about with their system. (to the tune of replacing the meter and sending you the bill for it)

Are you sure? [yes] / [no]

zakqwy wrote 2 months ago null point

What about a homemade clamp-on meter? Think that's in the realm of possibility for a DIYer? Seems like the transducers would be tough to build..

Are you sure? [yes] / [no]

CasualCasual wrote 2 months ago null point

Hmm, I hadn't ever heard of indirect flow meters. There's an ultrasonic version that requires bubbles or particulate matter in the water to sense flow. This one in particular says that it won't work with clean drinking water.

Maybe this paper could prove useful? I don't have time to read it right now though.

Are you sure? [yes] / [no]

zakqwy wrote 2 months ago null point

Ultrasonic meters generally work on one of two principles; the unit you describe uses the Doppler effect, bouncing a signal off of entrained particles or bubbles. Other units, called 'transit time' meters, use a pair of spaced transducers to compare the relative sonic velocity of the fluid with and against the flow direction, and use the time differential to calculate fluid velocity (since sound is just a pressure wave moving through a medium).

Acoustic coupling and ignoring incorrect pulses are two of the many challenges to building one of these setups yourself, but it would be a fun project!

Are you sure? [yes] / [no]

CasualCasual wrote 2 months ago null point

Somehow your description made it sound much more complicated than this video I found.
Here's another informative video,

Seems like it'd be worth trying though. It might be tough to mount in this particular application since you'd have to have a good section of pipe, but it'd be a neat test that others might find useful. Most of the indirect flow meters I've seen in my tiny bit of research have been very expensive, so an open source version might be pretty nifty.

Are you sure? [yes] / [no]

CasualCasual wrote 2 months ago null point

So, with some angled wedges and some ultrasonic emitter/sensors an indirect flow meter could be made. Repurposing a range finder might work, especially if the price can be found low enough, . Maybe unsolder either the transmit or receive transducer, add a cable extension that way you can get the distance between the transducers correct. 3d print a housing with some hose clamps to attach it to a pipe.

I'm not sure what the wedges would need to be made of. The specs I've seen say "sound conductive material" which makes me think a hard silicone or a large block of pencil eraser, but I'm not too sure. Maybe even hot glue pumped into place within the housing attached to the pipe so there wouldn't be any air gap to cross.

With more free time it'd be a fun little project to try. Not sure how great the battery life would be for a remote sensing application. This type of sensor would need to be running continuously to keep up with flow.

Are you sure? [yes] / [no]

CasualCasual wrote 2 months ago null point

Something like this maybe,

Are you sure? [yes] / [no]