Picture of Sump pump water level: The hardware
The second part of this tutorial about the software can be found here:

What you need:

* 2  X pieces of wood 4X6. 1/4'' and the other 1/2'' thick 
* 1 X 3 inches pipe. length varies depending of the deep of your pit.
* A couple of screw
* 1 X 1k resistor
* 1  X Raspberry pi
* 1X HC-SR04 ultrasonic sensor
* Wire

Remove these adsRemove these ads by Signing Up

Step 1: The sensor

Picture of The sensor
The sensor mesure the time it took to an ultrasound to get back to it.

Step 6: Connection

Picture of Connection
How to connect to the raspberry:

Pin 1 GND: connect to the ground of the rasp.
Pin 2 Echo to gpio 9
Pin 3 Trig to gpio 11. Add a 1k resistor
Pin 4 VCC to the 3.3V 

Note 1: According to the manual, the sensor used 5v. But it work perfectly at 3.3v.

Note 2: Beware, we see the back of the sensor in this pic, so the order of the pin are reverse.


stefano_628 months ago

Hi, it is possible to make many sequential (4) measure and calculate the average to a better measurement?

Luc Moreau (author)  stefano_628 months ago

Hi Stephano,

Seem my first reply never appears. So it is:

What I do is the median instead of average. With average, if one data is really out of range, it will affect the average value. With the median, I'll take the middle value and if, for any reason, one the value is really out of range, it doesn't matter.

In the file, at line 18, the loop read the distance 5 times, then sort the result and take the third value. I think more accurate this way.

for x in range(0, 5):





print listvalue[2]

The value[2] is the third value

foster2410 months ago

How long can be cable between raspberry and ultrasonic sensor? Because for me would be best option to have only sensor in well and RPi in separate dry place. Thx.

Luc Moreau (author)  foster249 months ago

I use a 25 feet cable. For some reason, I have to power the sensor with the 5v pin. I guess it's because of the distance of the câble. It's running at home for a month now, scanning at every minute. I also add a line to the web page for auto refresh of the page at every minutes. I also add a led on the yellow and green wire. It blink when the sensor is running.