Alternative ways to measure continuous changes in water volume

I am attempting to continuously measure how much water is in an animal water bottle. I would like to know how much water has left the bottle after the animal has drank. This could be as little as 0.25ml (if I could get the resolution to even 1.0ml I would take it).

I have tried e-tape sensors, and others that are much too noisy (that is, they take a few seconds to recognize changes in water level) and/or they do not detect small enough changes in water level.

I am hoping there might be a sensor, or a different measurement even, that might allow me to see how much water is leaving the bottle continuously. Weight? There is really no 'flow' of the water, so that is out.

Has anyone found an elegant solution to this issue?

Post a photo of the bottle as currently attached to the cage (or whatever it is connected to.)

What is the total size/weight/volume of that bottle?

I am thinking, potentiometer connected to an arm, which has a float on it. Like a petrol tank sensor.

!( (Mobile).jpg)


Weight? There is really no 'flow' of the water, so that is out.


1 ml in a ~5 mm tube (thinking of the drinking bottles of my rabbits of long long time ago) means very little movement of the water, except for the noise from the licking animal.

Your picture is amazing. I appreciate your time. This seems like a good approach, can you help me think about it a little bit? Why would we need two tanks? Could the potentiometer be in the water bottle itself? have you used these before for small amounts of water?

wvmarle–the water bottle I am thinking of using is one that is approx 16oz (standard animal water bottle).


I have never built the measuring device I propose and it is just an idea to throw into the mix.
Those water bottles are quite small, so it would require some delicate fabrication to make up a small float/pot device. In my experience, it takes quite a few iterations to build the correct devices for projects. I thought it would be simpler to develop the device on a larger tank. More room means you can play about with the length of the size of the float, the length of the float arm, the device mounting, etc. You can also play around with the water levels by placing objects of various volumes in the tank, and modify the tank water volume/height.
As pointed out by others, a 1ml consumption by you cuddly pet will require a very sensitive device to monitor the change. The pot would have to be quality. There could be a problem whereby the small change in water surface height will not be sufficent for the float arm to overcome the ‘stiction’ in the pot shaft. In that case, perhaps having the dvice within the water bottle would be a better choice, because the change in water surface height would be greater in the smaller bottle.
Without building anything to start with, I would do a bench test, and see how sensitive the pot is, when you turn the shaft by a very small increment. You can also determine if it gives you the range you require.

Maybe do not use a pot, but have something like those delicate moving coils you see on analog multimeter display needles.

I thought about a flow meter, but I always see a bubble rising up from the tube when the pet takes a drink, and thought it may affect the sensor because of the reverse flow direction.


One fundamental issue with the 2nd larger tank approach is...the larger the combined surface area of the two "tanks," the smaller the change in vertical height with change in volume.

For example, with a 2 cm diameter single tank, a 1 ml change in volume will cause a decrease in height of 3mm...perhaps not too hard to detect by some means.

But with two tanks, one that is 2 cm diameter and the other that is, say, 10 cm diameter, then a 1 ml change in volume will cause a decrease in height of just 0.1 mm...probably hard to detect by nearly any inexpensive means. (Of course, the 2nd tank need not be round. A skinny rectangular tank would be better since it would have less surface area.) And if the 2nd tank is open (not enclosed), then evaporation may be an another issue.

I'd say stick with e-tape in a single bottle with as small a diameter as possible. This looks like a good one: 12 Chemical eTape Liquid Level Sensor with Teflon Jacket : ID 1786 : $69.95 : Adafruit Industries, Unique & fun DIY electronics and kits (food safe). They have shorter ones, too.

Or look into capacative sensors such as this one from Analog Devices: Liquid Level Sensing Using Capacitive-to-Digital Converters | Analog Devices (but may not be food safe).

And, a TOF micro-Lidar may be worth trying...such as Overview | Adafruit VL6180X Time of Flight Micro-LIDAR Distance Sensor Breakout | Adafruit Learning System with some averaging...

I suspect that this thread is no longer active, but here goes anyway...

The solution proposed by steve1001 is theoretically viable but I fear far too insensitive to measure such small volumes (as others have noted). I propose the modification shown in the accompanying diagram. The key point is that the level is maintained at a certain position within a narrow (5 mm) glass tube. In this tube, assuming a 4 mm ID, a 1/4 mL volume change will translate to about 20 mm of height difference, which should be easily detectable. That's almost an inch.

So, the Arduino monitors an optical sensor which looks at a small plastic bead floating on the water surface in the tube. When the animal drinks and the level falls, the Arduino sends a signal to open the solenoid valve, restoring the level. The readout is the time the solenoid valve stays open. This assumes a constant flow rate from the IV bag, and this would need to be measured. If the flow rate is not constant enough, a small pump could be used instead of the solenoid valve. A peristaltic pump would be ideal.

Another caveat is that the plumbing to the bottle would have to be water tight. Silicone rubber caulking should suffice, I think.

(another) Steve

Another Steve ... that is brilliant. It is most doable. It is easy to construct with readily available hand tools and materials, and easy to program to accomodate the sensor and valve. I suspect the air bubbles will joggle the ball about a bit, but that can be compensated for in software.
I'm almost tempted to get a gerbil and try it out!!!
Well done.


I suspect the air bubbles will joggle the ball about a bit, but that can be compensated for in software.

Good point about air bubbles. I had forgotten that, depending on the animal and the construction of the delivery tube, bubbles sometimes do occur. So the above design would have to be modified such that those bubbles do not end up trapped at the top of the bottle, but rather travel up the tube to where the liquid level and float are. It's a minor but critical design aspect.
--The Other Steve

I did not notice that there would be an air trap at the top of the bottle. As you say, that is minor and can be dealt wth easily.
I was thinking about air bubbles joggling the ball up and down as the pet drinks and consumes water. In software, if there is a change in level detected by the sensor, then do not react to that change for say 5 minutes. That 5 minutes will give the pet time to drink and time for the water level and ball to settle down. Then, start filling and sense the ball. I'm sure there will be other minor teething problems, but it does look doable.


For accurate measurements, I would put the water bottle on a digital weighing scale with serial output, and lead a flexible water tube into the cage.

Monitor the scale with an Arduino and SD card, or a laptop.

I did not notice that there would be an air trap at the top of the bottle. As you say, that is minor and can be dealt wth easily.

Bollocks. Neither of our schemes will work at all, at least not as drawn. There is nothing at all to prevent all the water in the reservoir from immediately running out. The animal water bottles absolutely rely on being closed to the air.
So the reservoirs would have to be sealed at the top. Might still work, but again the bubbles would have to be able to make their way unimpeded to the water surface in the measurement tube.
As you say, there may be a need for software accommodation of float jiggling. I think I'd program in a delay (10-20 sec or so) between detection of float drop and opening of the solenoid valve or pump. That would also eliminate solenoid chattering which would likely result otherwise. The measurement tube might also need to be a bit larger in diameter; I am worried about the small and very light float sticking to the side of the tube and not falling with the water level...


Neither of our schemes will work at all, at least not as drawn.


Damn physics. Just when you think it is done and dusted! Lucky I did not get the gerbil; the poor thing would have died of thirst by now. Back to the drawing board.


This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.