Looking for advice about a water tank level sensor


I’m planning an automated garden watering sensor with a submersible pump and a Sonoff S20 socket
My question is whether there’s a solution to the tank water level issue -
I plan to put the water pump inside a large-enough water tank, but then there’s the question of how much water is left in the tank

I thought about an ESP8266-based project but couldn’t find anything useful/simple enough to start with


There’s a bunch of sensors you can use.

Float switches are the simplest, they will give a contact closure at a set level.

Then there’s resistive strips that change resistance depending on the water pressing on the (insulated) envelope up the side of the tank.

There are also pressure sensors that work on the water pressure on the submersed open end of a sealed tube (the top is sealed the bottom is open and there’s air trapped inside that gets pushed on and compressed as the water rises).

Then there are ultrasonic transducers that measure the travel time of sound to the water surface and output either a digital or proportional signal.

I’ve done something like that in the past using a ultrasonic sensor HC-SR04. Pretty easy to do, there are many examples around even on this forum.

1 Like

How deep is your tank? These are very easy to interface to: https://www.adafruit.com/product/464

An ultrasonic sensor is way cheaper :wink: https://www.adafruit.com/product/3942

True. Youll get a longer range as well.

Thanks guys for the suggestions, they’re very helpful

My main concern here is the integration with HA (referring to the ultrasonic sensor solution)
The tank isn’t very deep (should be less than 1 meter)

Can you please share what you’ve done to reach this goal ? I’m pretty new to these kind of things (familiar with ESPEasy and the like) and could use any hand you can lend me here

Thanks a lot

Any of the mentioned options can be included into HA very easily with ESPhomeyaml. Search for it on this forum. I’m on my phone so it’s a little hard right now to give you a link

1 Like

ok, I’ll have a look, would be great to have some guidelines for that, thanks a lot

I wrote my own code for a specific purpose but as @sparkydave it’s easier to use something like ESPhome.

As you seem to have some trouble using the search function :wink: Here is a link which should get you going https://esphomelib.com/esphomeyaml/components/sensor/ultrasonic.html

1 Like

Just didn’t know which direction to take, sorry for that and thanks, I think I’m good from here @sjee

No worries; my might also want to take a look at this;

Which direction did you take in the end?

I’m using the LevelPro Sentinel Remote tank level monitoring device for a long time without any trouble and also the support team is very helpful. You can also measure the level remotely. So you can check this device from Icon Process Controls website: https://iconprocon.com/product/sentinel-remote-tank-monitoring/

1 Like

I ditched it at the end as it wasn’t too much of a strong use-case.