Objective: Going away for a few weeks in summer. Create a tank based watering system that operates on a timer. The tank will need to last a few weeks without refilling. The location is a two storey townhouse in a complex with no outside water. Pot plants grow on the balcony upstairs and patio downstairs where it’s impractical to run a hose through a window.

sketch of a tank watering system

General concept:

  1. Add a tank on the top balcony (a plastic trash can). The higher the better so water doesn’t have to be lifted.
  2. Use a low cost pond pump to lift water out of the tank. These are cheap on Amazon. I had no idea whether this would be too weak or too powerful.
  3. Run flexible irrigation hose from the pump to the upper and lower story
  4. Use drip sprinklers to minimize (and limit) pressure required in the system
  5. Build a relay unit (and timer) to control the pump

As a supporter of lean start-up/early iteration I wanted to verify the basic assumptions (will this pump work?) before building any of the control system. Of course this didn’t actually prevent my engineer’s brain from buying an Adrunio, relay control board and wifi module up front…


  1. Vivosun 800PGB Submersible Pump (3000L/H, 24W) ~ $25
  2. Tank (trash can, cost more than the pump!)
  3. Hoses, adapters and drip sprinklers
  4. An AC Switch (I repurposed a Phillips Hue switch)
  5. Totally unnecessary parts: HiLego 2pv 5V relays, ESP8266 wifi, Adruino Uno Rev3, HiLetGo 3.5V 5V Power supply…

Vivosun Submersible Pump


Lessons learned:

Pump: The cheap submersible fishpond pump was great. I was concerned water would shoot out several feed at every opening, or even burst the pipe, but learned long as the system has pressure valves (e.g. drip sprinklers) it’ll only deliver what’s necessary. The main risks with pump selection are over specifying it (wasting money) or being too weak to lift any water over the 3 foot rim of the tank. In my case the 800GPH (gallon per hour) spec is enough to empty the tank in <10 minutes and many times more than the total need of the system (as counted by number of drip sprinkers and their flow needs).

Siphoning: I didn’t consider siphoning and this was a major problem on first use. After switching off the pump, siphoning (suction) continues to pull water though the pump out of the task until the tank is empty. Turning off the pump effectively does nothing.

There’s two solutions:

  1. replace the water with air, breaking the suction; or
  2. use a solenoid to block water flow

Professional systems use a solenoid and/or anti-siphoning systems but I didn’t have time to add another component. An anti-siphoning work-around based on #1 was easy:

  • poke a hole in the pipe near the highest point such that some water squirts back in the tank.
  • When the pump switches off, the suction will draw air through this whole breaking siphoning flow of water.

A small hole reduces the maximum pressure supported by the system but it adequate. It also creates a pleasant trickling noise.

Control system: In this version I replaced the switch with a home controlled switch (Philips Hue switch) so it could be scheduled by Apple Home/Siri. I realized I didn’t actually need to build anything yet.

Gravity: Gravity still requires that the pipes empty. This means it water keeps dripping until the pipes have emptied. Only a solenoid can fix this. That’ll be V2.

It works!

Other limitations:

  • This pump won’t automatically switch off if there’s no water. When the water is low it keeps running, but fortunately the anti-siphoning hole returns most of the water back to the tank. It keeps running safely but wastefully. A water-level monitor/check is needed in a future version;
  • As it’s only using a basic switch and no monitoring, if the switch fails to receive the signal to turn off (which happens with home control systems that depend on the internet and wifi) it’ll over-water the plants until the tank is empty. It can’t detect it’s been running too long. Another need for a future version.