Water tank level measuring device, doubts from a noob

I am total noob to electronics, I am a software engineer by profession. I want to build a device (device A) that measures the level of water in my water tank kept at the top of my house and sends the signal to another device (device B) that I have on the bottom floor of my house. device B would send a signal to another device (device C) to shut off the motor when the water level exceeds a particular level.

My requirements:

  1. I need some sort of a measure of the amount of water in the tank at all times, not just a switch that indicates if the tank is full or not. I intend to use a pressure transducer (like https://robu.in/product/10mpa-stainless-steel-pressure-transducer-sensor-copy-2/) for the same
  2. Device A has to be low powered enough to run several months on running off of some 4000-5000mAh battery. It doesn't have to be active all the time. I would be pinged maybe 3/4 times a day to check the water level and once a day when the tank is being filled it'd monitor the water level for 20 minutes and send a signal to device B when the tank is full.

My problems:

  1. Device A and B are at least 40-50 feet apart and would have walls between them, what should I use to communicate between them? Would a 315Mhz rf module work? or Should I use something like a cat5 cable?
  2. Would this pressure transducer be sensitive enough to fulfil my requirements? it's rated for 10Mpa, my water tank is only a 1000 litres, the pressure won't be greater than 30-40Kpa.
  3. Would an ESP32 be able to serve my low power requirements?

Any other pitfalls I might fall into that someone more experienced can already see coming?

Regards and thanks in advance

Do some searching in Forum. This project, or very similar, has been done lots of times.

Is wifi available in all locations, maybe with strategically placed repeaters ?
For low power operation, it is best if the devices wake up occasionally and send something. If they are to respond to "pings" from an external source, they have to be awake the whole time which precludes battery operation.
The pressure depends on the depth of water, not the total amount in the tank. But I'm guessing that the maximum depth is about 30 to 40 cm from your pressure range. For overflow prevention a float switch may be good. Alternatives for the depth measurement include an ultrasonic distance sensor. Maybe also infrared proximity devices.

WiFi isn't available unfortunately.

Yes, I understand how pressure works, that's why I mentioned the pressure won't go beyond 30-40Kpa.

But yeah I think I should have a secondary mechanism like a float switch for safe guarding as you mentioned, that's a good point.

Thank you so much 6v6gt. You've given me a direction to look into


Thank you so much @Railroader. I have looked, unfortunately I haven't been able to find proper answers, but I guess sometimes you just gotta try it and see how it goes.

Pressure sensors work very well for estimating the water level, but if you mount the sensor on the output pipe, the reading will be severely reduced while the water is flowing (Bernoulli Effect).

To avoid this, either mount the sensor on the outside of the tank, away from the outlet, or use a submersible sensor (more expensive).

If you can run cable to the tank, consider POE.

If you're going to use a battery, look at Nick Gammon's site - it has a section on how to reduce power consumption.

I assume in that circumstance that device A will be sleeping most of the time, so it won't respond to a ping from device B. Perhaps A can be responsible for initiating communication instead.

Do you need a real time clock somewhere in the system?

There is almost no chance to find a project that can be copied all over.
Split the project into smaller pieces like communication and tank level measuring and look for part solutions.

as a sensor I recommend this model:
Search the web as "Waterproof Ultrasonic Module"
It's easy to find.

RV mineirin

Hi, @analysis230
Welcome to the forum.

The volume of water when measuring pressure is not the parameter that is considered.
It is the head of water or the total depth of your tank.

You could have a 100,000litre tank and a 1,000 litre tank, if both are the same depth, then both will have the same pressure at the bottom of the tank.

It is called Hydrostatic pressure.

Hydrostatic pressure in a liquid can be calculated as
p = ρ g h
p = pressure in liquid (N/m2)
ρ = [density of liquid] (kg/m3)
g = acceleration of gravity (9.81 m/s2)**
h = height of fluid column - or depth in the fluid where pressure is measured (m)****

This will help you calculate the desired pressure sensor you may use.

Tom... :grinning: :+1: :coffee: :australia:
< sarcasm >
PS.. Sorry to the non metric people, I deleted the slugs and worms and grasshoppers and ft/s2 and Psi.
</ sarcasm >

RF Capacitance Level Transmitter


or DIY:
10 Mhz LC generator + frequency meter.
C = 2 parallel long enamel wire, can be twisted

I used an ultrasonic sensor, a LORA transmitter, a TPS5110 timer, and an Arduino NANO to measure the level of the water in my swimming pool, send it to device B, 15 meters away, and shut down for 65 minutes before the next measurement. It's running on 3 AA batteries for several months and should continue for many more months before I have to change the batteries. I can send you the code if U like. BTW, device B is near a WIFI and puts the info on ThingSpeak so I can check on my pool when I'm traveling and tell a friend to add water.

The best tank level sensor I've done is based on one of these JSN-SR04T waterproof ultrasonic distance sensors. Mine is mounted into the top of a 1,000L IBC container and measures the distance down to the water surface. I had to construct an aluminium cone to direct the sound pattern to avoid picking up the plumbing and tank sides, but the result works fine. I have it wired for continuous serial output and connected to an ATTiny85. It transmits data using a cheap OOK 433MHz radio. The whole thing is powered by 3 D-cells than can run it for ~6 months.

1 Like

Thank you so much. After due research I ended up ordering this one.

That's a great tip. I might also need to make such a cone shield for my own device. Thank you so much

Thanks a lot Tom

No, a real time clock isn't required.
Yes, I was thinking about making it such that device A would be responsible for initiating the communication. I have most parts figured now with help from people like you.


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