Liquid Level Sensors


Hi all,

Didn’t see this anywhere but a challenging area. I’ve tested many of these for monitoring nute levels with Arduino Yun in my recirculating aeroponic reservoir aka 7 gallon bucket.

  • Electrical resistance - too short and corrode too fast
  • Infrared - unreliable
  • Ultrasonic - unreliable and dependent on monitoring ait temp/humidity in bucket
  • Waterproof Ultrasonic - unreliable and big deadzone
  • Capacitive Sensing
  • Tried Vegetronix - didnt work/expensive
  • hacked dual metal strips outside container - couldnt get any readings
  • eTape - inaccurate/expensive
  • Time of Flight (lidar) - TBD

Anyone got any tips or tricks?


  1. How important is it to know the exact level of the water? If not, perhaps just use a cheap float sensor?
  2. Have you thought of using weight?
  3. @webbhm has been successful at implementing VL53LOX time-of-flight laser distance sensor for his MVP. From what he’s said it seems to be very accurate.


I think it depends on the reservoir size/shape as to which might be a more appropriate sensor. I use the etape sensor from Adafruit on a 25 gallon reservoir that’s about a foot deep and it works great. I do get a good feel of how thirsty the plants are based on the water level (I recirculate). It doesn’t work when the level gets below one inch. I have a circulating pump that can’t run dry so I keep it well above that anyway.


Hi all,

Exact level is important +/- 500ml…the level will be used for alerts/auto-topping off, pH adjustment and eventually auto-dosing. Also, pesky leaks are hard to find but unusual water level could be a good alert that something is up.

I have the ToF on my list to test further; it has potential when I tested it out of the aeroponics nevironment but was kind of a RAM hog. Also, it seems like it would need to be rigged up a bit but may be very sensitive to moisture.

I have thought about weight and have am going to give a load cell sensor a try next. It seems like a more durable option but we shall see.

The eTape seemed promising when I last tried it but they are also delicate in my experience with any moisture getting into that top part causing it to fail.


Do we (or can we) separate filling issues from dosing? For dosing we need good measurements of quantity added. To top off a reservoir with pre-made solution seems to only require a start and stop.
The Time of Flight laser sensor is working well, but the shallow reservoir seems to have even smaller margins of response. I am going to tear down my MVP for a while and may try hooking up a pump (or solenoid valve) to test how well it will work to control filling.
One problem with the MVP is it takes care of itself too well. I can forget to check on it for days, only to discover that the reservoir level has dropped and I lost a plant. Having an auto-fill is definitely an option that needs some attention.


That’s an interesting challenge. I haven’t actually tried this idea, but here’s a scheme that seems like it might hold up well against corrosion, algae, and such:

The basic idea is to combine a float valve with a gray code wheel

Some thoughts and observations:

  1. If you sized the wheel right, you could read the codes with a strip of reflectivity sensors of the type used for line following robots–like this line follower array from SparkFun.

  2. You could anchor the float to the tank as simply as drilling a couple holes and running a rod across the tank, but you might want to get a little fancier to make sure that light doesn’t leak in. You’d need to somehow make sure that the connection between the float arm and rod was firm so that torque from the changing water level would rotate the rod and the gray code wheel.

  3. I drew the gray code wheel facing outward, but you could potentially have the codes on the back and a big red arrow or something on the front.

  4. If you made the linkage sturdy enough from the float valve to the code wheel, you could potentially put a little peg, notch, or whatever on the wheel to engage a limit switch that would act as a safety cutoff for your fill pump.


This is what I have been using for my tanks
The work good 0 to 10 gal