Pond Overflow Pump

by DeviceCtrl in Circuits > Arduino

21 Views, 0 Favorites, 0 Comments

Pond Overflow Pump

PXL_20260224_214658954.jpg

This project will use an Arduino to help manage the water level of the back yard water feature. During heavy rain, water will overflow and seep into the basement. The Arduino monitors the water level using a horizontal liquid float switch (ie fish tank float switch) and a small bilge pump. The pump will drain the excess water to the rain down spout.

The first attempt used just a float switch that directly activated the pump. The problem was that water reached the exact trigger point any disturbance would start the pump. The water level would drop by a tiny amount causing the pump to shut off, causing a disturbance that would re-start the pump. Even rain hitting the pond would cause tiny waves that would cause the pump to cycle on then cycle off continuously. Afraid that this would, in effect, force the pump to be running 24/7, I decided to use an Arduino to control the pump.

Downloads

Supplies

nano.png

Arduino Nano

Fish tank float switch

12V PWC Automatic Bilge Pump

outdoor project box

bulk-head connectors

12v 2 channel relay

100k ohm variable resistor

12vdc to 5vdc step down power supply

Arduino Schematic

pump_wiring_layout.png

I like to begin my Arduino projects by mocking up the wiring using bread boards and jumper wires. Adding each component one by one, ensuring that I have hooked them up correctly and they are giving the expected results. So follow the above diagram to construct the device.

Checking Software Logic

PXL_20260223_174852142.jpg

Here I mocked up the project. I use a 12vdc LED light to simulate the bilge pump. By actuating the float switch I can see the "pump" turn on or off. The Arduino code forces a minimum On Time (MOT) and a minimum Off Time (MOT). You will notice that moving the float switch will activate the LED light (ie the pump) and then it will stay on for 30 secs no matter what position the float takes.

Make sure you test different states to ensure you have coded it correctly and the project works as expected.

Note: The relay handles 12vdc and lots of amps. BUT, it is also triggered by 12vdc NOT 5vdc. This makes wiring easier and puts less demand on the Arduino power supply.

Manage the MOT

PXL_20260223_174906235.MP.jpg
how-it-works-rotary-potentiometer.gif

Once the project is put into a live environment, the minimum Off/On time (MOT) setting might not be optimum. In lieu of reprogramming the Arduino via my laptop, I integrated a 100k ohm variable resistor. By increasing the resistance we increase the MOT. Inspect the Arduino code to see how this works.

Now once the project is in action, one can easily change the amount of time the pump is forced to stay on and off.

Project Box

PXL_20260224_192736927.jpg
PXL_20260224_192747701.MP.jpg
PXL_20260224.jpg
PXL_20260224_203231241.PORTRAIT.jpg
F44D4YSLXEP89K7.jpg

Once happy with the bench test. Mount the components in the project box. Note that the box has rubber seal at the door to make it water-tight. I also use bulkhead connectors for wire connections to maintain water-tight integrity.

You might notice that the project only needs 1 relay, but I have installed a dual channel relay. These 12v actuated relays are inexpensive but not very high quality. I have had them fail several times. So in harsh environments I install the double relay. When the first fails I just move the power wire and trigger wires to the second relay.

Installation

PXL_20260224_214653080.MP.jpg
PXL_20260224_203236385.PORTRAIT.jpg
PXL_20220424_171705267.jpg

Installation was easy as I already had low voltage wiring run under the deck to our little pond. And I had run PVC pipe from the pond to the rain water down spout