Automatic irrigation system using Arduino

You are here:
← All Topics


To improve the efficiency in watering the plants using the wastewater treatment system, the idea of automation of the irrigation system was proposed. A motorised valve which opens and closes when the polarity of the current changes is controlled using an Arduino timer circuit using two SPDT Relays. Below you can find the information regarding the setup of the circuit, the system and how it works.


  1. CTF mini-motorised valve (M)
  2. 2 SPDT relays (single channel 5v relay module)
  3. Arduino Uno
  4. Battery (12V) (to power the Valve and the Arduino)
  5. Button (B)
  6. Resistor (10k Ω)
  7. Voltage regulator (L7809CV)

Circuit diagram:


Initially both the relays rests in Normally closed (NC) position as shown in the picture below.

The Arduino is coded to switch ON Relay 1 for 30 mins. During this time, a signal from the Arduino board (Pin 12) is sent to the digital Input (IN1) of the Relay1, which will switch the relay from Normally closed (NC1) position to Normally open (NO1) position. So, the common output of the relay 1 (COM1) has the positive polarity and the common output (COM2) has the negative polarity, since it is still in the same NC2 position.

After 30mins, the Arduino stops sending the signal (Pin 12) to the digital input (IN1) of the Relay 1, which will turn it OFF and rests back to NC1 position, that is COM1 is negative again. Then the Arduino send the signal (Pin 11) to the digital input (IN2) which will now switch to NO2 position, which means the Common output (COM2) of Relay 2 has positive polarity. Hence the polarity is inverted to the motorised valve (M) which will close the valve. This process loops every 23:59 mins and repeats every day.

There is also an emergency open button, which will skip the 23:59 mins cycle and opens the motorised valve for 30 mins and closes back by the same process which is previously explained. Once its closes, it resumes to count the timer.