Looking for an accurate water flow meter

I bought a YF-DN40 water flow meter off ebay. I plan to use it with ESPhome’s pulse sensor to monitor water use on my irrigation system, my in-floor hydronic heat system, and my water heater. I rigged up something using a garden hose flow meter to test the accuracy of the flow meter and I am not impressed. I checked the accuracy of garden hose flow meter and it is accurate. 3 milk jug fills was exactly 3 gallons.

Here is my data table testing the YF-DN40
water flow data

As you can see, the results are all over the place. There is a 34% difference between my highest and lowest data point.

Has anyone used a flow meter that is more accurate? Or know a way to improve the accuracy of this one?

You could use the calibrate linear or calibrate polynomial filter in ESPHome to correct your sensor. Only worthwhile doing if you are getting consistent pulse rates vs flow rate readings that need correcting though.

The rate may be incorrect but it has to be consistently incorrect for each flow rate for calibration to be effective.

You just have to gather some data points for pulse/min at different flow rates and know the actual correct flow rates (like your table above).

FYI, uncalibrated, most of these sensors give +/- 10% accuracy.

I’m considering using this meter. It’s more expensive but seems more accurate. My only concern is that it only has 2 wires instead of 3 (+, -, signal). Should that concern me? Has anyone used a meter like this one?

I haven’t done anything yet to measure flow rate in my house but it’s on my mid-list of things to do. I’m looking at this nutating disc positive displacement Badger unit from Grainger. I think this would be seriously accurate if you calibrated it with ESPHome. Looking at the datasheet they spec it as between ±2% depending on flow:

I didn’t know what nutating was but watching the short video on their webpage made it clear. It’s like when you drop a coin on the floor and it wobbles. That’s considered a nutation. :slight_smile: The volume of water is defined by the casing and the number of disc nutations.

The unit is lead free brass so it can be used with potable water and apparently, it can handle between 0.5gpm and 25gpm. I just measured my highest flowrate and it’s ~18gpm so this is perfectly in the range for my house.

With pulse outputs you only need two pins and if it’s anything like my weather vane and wind-speed sensors the pins just get shorted together for the pulse. So, you just need a pull up on the side that goes to the GPIO and ground the other pin and watch for the ground pulse (or you can do a pull-down with VCC and watch for the positive pulse).

I just pulled the trigger and bought the badger:

It’s way heavier than I expeceted but it came with union joints which is nice.
Now I just need a long weekend to hook it up and try to get some data from it. :slight_smile:


Nice! Let me know how it works

I would also be very interested in seeing how you are able to integrate this!

I have a Hunter HC-075-FLOW hooked into my Hyrdrawise irrigation system. Unfortunately the waterflow sensor data is not available in the API. I’m wondering if I can repurpose this meter into HA as the Hydrawise alerting also leaves much to be desired. It also doesn’t automatically suspend watering when it detects a leak (how dumb is that).

This meter has a two lead wire three lead wire (but one is not used) and appears to function in the same fashion? Anyone have any idea if this would work with this flow meter? Would there be any way to maybe hook the meter up to both my Hydrawise controller AND Home Assistant so I could still see the flow meter data in my Hydrawise app and in Home Assistant? Pretty please? I would be so super stoked if could do this!!

I got it hooked up this weekend and I’m playing around with the software now trying to dial it in. The installation looks way jankier than I would have hoped. I didn’t really have a good way to mount the flow valve horizontally so I rested it on top of the 2x4 that I used to mount the copper piping. Then I needed some way to hold it up there so I strapped it in using one of my wife’s old belts.

I installed all the pipe and returns yesterday and spent today wiring up the electrical and proving out the pulse meter. I got a quick scope shot of the output pulse to verify that everything works like I expected it to. This is with a 1kΩ pull-up to 3.3V, the active-low pulse is ~40ms wide.

I was pretty excited to test it out and based on the specs found here it looked like the device might send 100 pulses per gallon of water (spec’ing 0.01 pulses per gallon). Now that it’s hooked up, I can tell that it really only pulses once per gallon (also see spec Output: Pulse Per 1 gallon). Other than that lack of fractional gallon resolution, it works well!

Because of the lack of gallon/time resolution, I’m trying to figure out how to calculate high-flow pressure drop in a way that is past-looking so it’s more accurate. I want to be able to determine “high-flow” state, and if it maintains for a whole minute, I can trust the data more and calculate a delta. There are still some blind spots since the trigger only happens once in 60 seconds…