switching between 2 solenoid valves


I’m looking to develop an improvement to my existing home irrigation system.
Currently I have a master Solenoid valve on the mains water connection which Is opened by the irrigation controller whenever one of the watering zones is scheduled to run.

I want to have the option to feed my Irrigation system with Tank water via a 240v pressure pump. I had thought I would install a solenoid on the discharge of the pump, meaning that when I have tank water, the pump solenoid valve opens and the mains valves stays closed. Then when my tank level goes down, the pump solenoid would close and the mains valve open.

I had thought that I could add a SPDT relay with Common relay connection connected to master zone on irrigation controller, and then NC to the mains valve and NO to pump valve (with the common wires all connected back to the common port on irrigation controller.

The arduino would then flick the relay between NC and NO and activate the relevant solenoid depending on water levels in tank (and also default to mains for any power outages when pump couldn’t run).

My only concern is that as I understand the relay requires a constant signal to keep relay NO. I have tried to research the idea of a latching relay but haven’t stumbled across the solution.

Looking to get advice (pros cons and alternatives) to what I’m currently thinking. Any input would be greatly appreciated.



NO (normally open) means the common is not connected to the NO terminal when the relay is not operated. When the relay operates, the NO is connected to common.
NC (normally closed) means the common is connected to the NC when the relay is not operated. When the relay operates, the NO is connected to the common.

The common is connected either to the NC (relay not operated) or the common is connected to the NO (relay operated.

I doubt you need a latching relay. The engineering solution is to establish the fall back position, (for example if mains fails, what connection is to be made?). One then designs to have the fall back position occur when the fall back condition arises.

  1. What condition should cause fall back? (mains failed, tank empty, or other)
  2. What connection should the relay make then? (if the relay is mains dependent, then the relay will reset (not operate) when power fails, so the common will be connected to the NC contact).

Your one relay plan allows only one of two conditions to be monitored. I think you have three conditions to consider:

  1. Irrigation off
  2. tank full - use tank
  3. tank empty - use mains water

Have a look at state charts or state machines or ladder logic and see if you can design the system on paper first.

Thanks for the reply Steve.

My fall back position (either no tank water measured via a level sensor or loss of power to the board/relay) is for Mains water to be the source. Therefore i would connect the mains water solenoid valve to the NC terminal.

Whilst i have 3 conditions I believe condition 1 is handled ‘in series’ with options 2/3 in parrallel.

Conidition 1 is completely controlled by an independent Irrigation controller (lets call it I.C.). If irrigation is to be off, the I.C. would have 0 output through the master zone. I then wire the master zone to the common connection on the relay. Therefore no power to either the NC or NO connections (so both the mains and tank valves would close).

When the I.C. goes to run a zone, it will put 24VAC through the master zone. This will then feed the common connection on the relay, which will then power either the NC or NO connection based on the Aruduino command (a 1/high (connecting common to NO) if tank level is ok, and a 0/low (connecting common to NC) if tank level is low or no power).

I’ve attached a basic sketch of what i’ve attempted to describe