Bistable pump switch

The problem the tool solves

My parents live in a 100+ year old house with a large basement. Unfortunately, in the rainier months, groundwater breaks into the basement, which sometimes fills the basement up to a height of 80 cm. This damages the house and leads to mold growth. To ease the pumping out of the water, an approximately 100-liter concrete watercollector has been built in the center of the basement that collects groundwater and into which you can dip a bucket or a pump. 

The concrete ring fills up in about 2 hours and the pumpig needs about 10 minutes to deplete the ring, but these times vary depending on the rains. Switching the pump on and off by hand is fiddly, and the submersible switch attached to the diving pump tends to get stuck and does not turn off the pump in time. 

So they needed some kind of pump switching automation with an external sensor. 

The pump switch

The solution is a bistable switch with a lower and upper water level sensor. The operation of the sensor is the same as that of the QT controller: 

Lower sensor position 

Upper sensor position 

Meaning 

Case number 

Dropped 

Dropped 

The concrete ring is empty. 

0 

Floats 

Dropped 

The concrete ring is “half” filled. 

1 

Floats 

Floats 

The concrete ring is full. 

2 

Dropped 

Floats 

One of the sensors is faulty. 

3 

The switching of the pump, on the other hand, is the opposite of that described for the birdbath: It switches on when it is full and off when it is empty. Such a device can be implemented in many different ways. For example: 

  • even completely mechanically 
  • with relays 
  • With 555 IC 
  • with a microcontroller 

Since I have already made such a device for the QT controller, I chose the microcontroller solution. 

In order to learn something new, I chose the AT Tiny 13 microcontroller for the task. (I wish I hadn’t.) It’s a tiny device with 1Kb of program memory and 64 bytes of SRAM. It has 6 GPIOs. It doesn’t have a USB connector either, so you have to use an external programming device to upload the program: for example, an arduino. 

The program I wrote for pump control consists of just 70 lines. The controller indicates its status by flashing an LED at different lengths. This device does not have a flow sensor, so for the sake of safety, it only allows pumping for a maximum of 30 minutes at a time, after which it switches off and only switch back on after 15 minutes (if the concrete ring also measures it as full). 

The device works in the basement – in a humid placeso I sealed it in a coffee bottle, in which I also put silicate crystals, and also sealed the gaps between the cable outlets with silicone.