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][1], 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 - no microcontroller needed, and runs on safe 5V. Gives the same functionality as you propose using float switches. * [Capacitive tank sensor][2], 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. Complex electronics so tend to be standalone systems. More here about optical and capacitive sensing: https://electronics.stackexchange.com/questions/700725/is-it-possible-to-do-water-detection-with-a-single-electrode/700742#700742 * [Laser time-of-flight (TOF) sensor][3], 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][4] to make a proper return signal (maybe use a weighted bobber in a tube with the cat's eye on top?) TOF sensors are not too expensive. But, they need a microcontroller (and can be bought that way as modules.) Appears to be a popular hacking project. * [Hydrostatic][5] (pressure) sensor, suspended from the top with the sensor at the bottom. Popular choice for cisterns; easy to install and service. Lots of off-the-shelf products from modest to expensive. Needs a microcontroller. Shows up as an [Arduino project][6]. Of all these, the hydrostatic approach 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][7]) Conveniently, we note that 1m water height is 9.81 kPa in pressure. This gives us the linear relationship of 9.81 kPa/m. Thus, we compute metric tank volume, in m^3, as: * 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. [1]: https://www.electroschematics.com/optical-liquid-level-sensor/ [2]: https://tankedge.com/downloads/How_our_exterior_Moda_tank_sensors_work.pdf [3]: https://electronics.stackexchange.com/questions/521420/is-there-a-way-to-measure-distance-to-a-surface-of-a-liquid-water-for-example [4]: https://en.wikipedia.org/wiki/Retroreflector [5]: https://blog.wellaware.us/blog/how-to-monitor-water-level-in-a-tank-complete-guide [6]: https://circuits4you.com/2016/05/13/water-level-measurement-arduino/ [7]: https://www.engineeringtoolbox.com/hydrostatic-pressure-water-d_1632.html