Skip to main content
15 of 18
added 136 characters in body
hacktastical
  • 58.5k
  • 2
  • 54
  • 166

If your main issue is protecting the pump, perhaps investing in one with its own dedicated line-voltage float switch is the way to go. Pump protection should be a proven, self-contained and low-tech approach, which is designed to be safe with immersed line voltage wiring.

This frees you up to choose a level monitoring approach that is safe, cheap, and reliable, without needing to deal with line voltage.

With that out of the way, here's some ideas for monitoring level:

  • Multiple optical prism sensors, in a dip tube. Simple, inexpensive, low voltage, no moving parts, could give direct drive to LEDs or some simple display. Arguably the cheapest approach.

  • Capacitive tank sensor, used in the RV and boating trades for fuel, water and wastewater monitoring. Again, for your cistern, in a dip tube. No moving parts, but more expensive than optical sensors due to the electronics. These can be self-calibrated to indicate fullness. Tend to be standalone systems.

  • Laser time-of-flight (TOF) sensor, measuring distance to water surface. Problematic due to water's transparency; may be improved by using a tethered float with a cat's eye retroreflector to make a proper return signal. Needs a microcontroller. TOF sensors are not too expensive. Appears to be a popular hacking project.

More here about optical and capacitive sensing: Is it possible to do water detection with a single electrode?

  • Hydrostatic (pressure) sensor, suspended from the top with the sensor at the bottom. Popular choice for cisterns that's easy to install and service. Lots of off-the-shelf products from modest to expensive. Shows up as an Arduino project.

Of all these, the hydrostatic seems to offer the most ready-to-go options for display, including wireless monitoring to your phone if you wish.

If you want to do your own controller, vertical tank math is simple: pressure is proportional to tank fill height; volume is cross-section x height.

How to compute height from pressure?

  • Pressure = height x density x g
  • Height = pressure / (density x g)

Where g is gravity acceleration.

(see here)

Example: a tank 1m high, the 'full' pressure at the bottom of the tank will be:

  • height = 9.81 kPa / [(1kg/l) * 9.81 m/s^2] = 1m height

Conveniently, we note that 1m water height is 9.81 kPa in pressure. This gives us the linear relationship of 9.81 kPa/m.

Metric tank volume, in m^3, would be:

  • volume (m^3) = area (m^2) * (pressure in kPa) / (9.81 kPa/m)

Simple, right?

The pressure method gives precise, real-time volume data. With suitable post-processing you can calculate dynamic usage and even detect leaks.

This applies to capacitive and laser sensor approaches too.

hacktastical
  • 58.5k
  • 2
  • 54
  • 166