Water volume meter

Hello all,

first time poster on here, i have order a arduino uno and cannot wait to get started, this is really cool stuff, did not know this stuff existed until a few weeks ago.

Had a a look about of the google and come up blank on this.

So the question I have is, is there a sensor strip type that you could say put in a bucket / tank attached to the length of the side which would report back to volume of water in the tank. So it work from top to bottom, i have found float switches but that's not really what I am looking for..



Cheers in advance

I just have to throw this out there because it is so fun. Wiimote as water level sensor.

Hacked Wiimote Makes Super Scientific Sensor

is there a sensor strip type that you could say put in a bucket / tank attached to the length of the side which would report back to volume of water in the tank.

Think about it, it could never report the volume because it wouldn't know the size of the bucket or tank, it could only return the depth. There are many ways to detect the level of water although it is not the simplest of sensors. Probably an ultrasonic range detector would be the best non intrusive method.

If you didn’t need the water to be electrically isolated, you could wire up a bunch of resistors in series, with 5V at the top and ground at the bottom. Have the ‘bottom’ of the 1st resistor from +5 go to the arduino ADC (say 1K so can never have more that 5mA flowing thru the circuit).
If the total resistance of the rest of the string is 10K, the starting voltage would be 5Vx(10/11) = 4.54V. And drops towards 0 as the string shorts out. (or 100K, so 100/101 x 5V = 4.95V)
Course, have to wait for the resistors to dry out to get decent measurements as the water level drops! Spacing of the resistor connections limits you to discrete measurements.

You have to make volume calculations that would vary with the shape of container. That could be easily calibrated tho. Add a gallon, record the voltage. Add 2nd gallon, record the voltage, etc.
Or work it the other way - build it so that the joints are at known water levels. Add the water, make a mark, add water, make a mark - then build your circuit to match.

Would a pressure pad be an option?

Mikey C

As in, put the bucket on a scale with serial output and just read the weight, subtract the weight of the bucket, and divide by ~7.8 (lbs/gallon)? Seems straightfrorward enough.

You can also just read the water pressure. All the above calibration issues still apply but they will with any method unless the tank is a standard geometric shape (which they normally are I guess).

I'm sure I've seen resistive strips somewhere that are designed to mount down the side of a tank as well.

EDIT: Look for eTape at www.milonetech.com


On Sparkfun, I've seen thin plastic sensors that change resistance depending on where on its length a magnet is held near. So, put a magnet on a float, and the strip on the outside of the tank.

Just another option.

So RickDB, what is your bucket/tank made of?

ah to bad this thread is dieing. I shall revive her. Im looking for the same thing. Actually water level is all I care about. Im thinking of the wired up resistors method. But my main problem with that is it doesnt seem very sturdy or safe. I also have other sensors in the water that this will badly affect. So I thought about the ultrasonic range finder wired to the underside of the lid. But its not very sturdy and also seems not very designed for wet environments.

So Im thinking of something like a floating magnet on the inside and "something on the outside. I thought maybe a bunch of reed switches of somekind. But I dont want to use up all my pins on that.

Then I though maybe a momentary switch of some kind. as the magnet passes by it would basically pass the halfway switch and log that as tank half full. then another one at 25% etc etc. Not realtime accuracy but good enough for what I need.

But somebody must have a better plan ;)

how about this: a potentiometer mounted at the top with a string around the shaft (or around a wheel on the shaft). The string goes around a pulley in the bottom of the tank, and ends on a float. As the water rises, the float pulls the string turning the wheel, changing the resistance which the arduino could sense as part of a voltage divider.

Or go the other way - have a float that is connected to a motor controlled by arduino at the top. The arduiono occasionally tries to raise the float, when it senses increased current draw as the float leaves the water then position is inferrred by how much the motor has spun to get to that point.

Or have a switch on a wire at the end of the string that the arduino can read as open/closed, as the slack is taken up in the wire the switch changes state for top of the fluid detection.

Okay, how about this - you mount a speaker at the top, then sweep thru frequencies until you detect where some kind of resonance occurs which will be determined by the unfilled volume of the container.

Okay, here's one. Have a floating disc on the surface. On the container rim, mount one of those little lasers pointing at some angle. Assuming the floating reflecter stays flat, the reflected point wil move up a side wall (draw a picture, you'll see), where you have a series of detectors (string of light detectors? like LEDs being used as sensors?) that are calibrated to the tank volume.

genius. about 3 of those may be workable. great ideas. See my IT brain doesnt do that out of box thinking...

How about some details - how big is the tank, what is it made, is it too big to just put on a scale and weigh periodically?

I can only get more outlandish from here :-)

Its a cooler with wheels. holds about 5-6 gallons of water. Its holding hydroponic solution. It currently has a water pump in it so theres already "noise" in the water. I shut it off during tests though. But I have a TDS and PH and temp sensors in the tank as well. Its a plastic tank.http://www.google.com/products/catalog?q=wheeled+cooler&rls=com.microsoft:en-us:IE-SearchBox&oe=&um=1&ie=UTF-8&cid=15084804099716194119&ei=IFLsTLzcBITGlQewvqmMAQ&sa=X&oi=product_catalog_result&ct=image&resnum=1&ved=0CCsQ8gIwAA# I could use a scale and it was one of my first options. But it would have to be calibrated manually depending on the type of tank being used.and what happens to be sitting on top of it. I need something a bit more robust. so if I sit on the lid it doesnt freakout and think its overflowing ;)

Also thinking about how to adapt a slide potentiometer. Stick it on the outside with a magnet glued to the knob. And stick a massive floating magnet on the inside.

this is just a prototype now but im trying to be long thinking in that it will need to be somewhat reproduceable on dissimilar tanks.

I would think the two magnets would clamp to each other thru the (non-ferrous) tank wall and then not move. Having the inner magnet activate reed switches on the outside would likely allow free-er movement.

Okay, just saw the link with the actual cooler. I think no matter what you're going to have to calibrate at least once. Your best bet may to lower a float from the top when you want to make a measurement - count the revolutions to determine how far it went. Have a little flap that the liquid pushes up as the bottom reaches the water level that reflects light back up inside the clear bottom'ed float.


Put a limit switch at the top so you know when to stop winding it back up & give a known starting point when it is next lowered.

no light is allowed in the tank. light + water + neutrients = gross slimy stuff.

So use infrared then - it only has to be on for the maybe tens of seconds while it is being lowered to make the measurement. Doesn't have to be light - could be a mechanical closure too. Maybe a mercury switch on an arm that tilts up as the fluid is reached.