SMS controlled Wireless Irrigation System using an Arduino

Arduino Wireless Irrigation System

UPDATE 02/13/11 : Voting has started for the Sparkfun Microcontroller Contest. Please VOTE for me!

UPDATE 02/26/11 : I won a second prize!! Huzzah! Thanks for all the votes guys!

UPDATE 03/17/11: I would love to win a Laser cutter in the Epilog challenge as it would help the small DIY community in Calcutta,                                     which just started a few months back to cut all their materials using a CNC instead of using their saws etc. 

Irrigating crops with the exactly right amount of water is a tedious task, especially when you have to walk a long distance to the irrigation pump in the middle of the night to check whether any problem (fish getting stuck in the intake and as a result the irrigation motor burning or jamming!)  has occured. As I saw my uncles tired of doing the same, I felt there had to be some remote controlled solution to their problems.

I started to think about a system, which would:

1.  Detect jamming of the motor and immediately shut it down.
2.  Be cost effective.(Less than $150)
3.  Remotely turn on and off the irrigation motor.
4.  Send back a message to the operator, if an error occured.

And thus came the brainstorm to build the “SMS controlled Wireless Irrigation System” . I also wanted to submit this to the Sparkfun Microcontroller Contest , so it was all the more reason for me to go straight to building the prototype.Arduino Wireless Irrigation System

The prototype could do the following:

1.  Be remotely controlled via SMSs through a cellular GSM network.
2.  Send back ERROR messages to the operator, if the Miniature Circuit Breaker (MCB)  was tripped due to electrical faults or motor jamming.
3.  Control loads of up to 15 amps.

The fruits of my work is detailed in this ible.

P.S I suggest that you read through the entire Instructable before starting.

Step 1: Getting the Materials

For this project we need various cheap parts and you should be able to get these easily at any local Radio Shack. We only need a few extra parts which you might have to go to another shop. The bill should total at max. $100. You must think I’m joking but I’m not. At India, we get stuff even cheaper – Rs.1000 ($40 approx.) max.

Parts List:

Hardware Parts:

1. 1x cheap/old/used GSM mobile phone with SMS feature(with charger)
2. 1x Activated GSM SIM/micro-SIM card of your preffered provider
3. 1x Miniature Circuit Breakers
4. 1x 120v/240v(choose for your country) 30 Amp Relays
5. 1x Atmega 168/328p or an Arduino (OR any other micro with which you are friendly)
6. 1x 9v Power Supply for the Arduino/Atmega etc.
7. 1x Universal charger if you don’t have a phone charger
8. 1x High-Gain external antenna(optional)
9. Wires (240v/120v FIRE-PROOF wires) and some scraps for the circuit-board
10. 2x 240v terminal blocks
11. 4x spade connectors(for the relays)
12. 3x terminal blocks
13. A enclosure(to encase the electronics) like

Electronics Parts:

1. 10x 1N4001 diodes
2. 4x 2n2222 transistors
3. 2x TIP31 transistors
4. 3x TIP102 transistors
5. 10x 1K resistors
6. 2x Miniature Push Switches
6. 1x Perfboard (not if you make a PCB)
7. 1x Pack of Misc. LEDs(small size)
8. 5x relays with 5v coil

Tools Needed:

Soldering Iron
Screw Driver
Drill (with drill bits)
Sander 😉 see (

Step 2: Assembling the Mains Circuit

WARNING: This project uses High Voltage AC mains voltage and could cause death or electrical shock, so I am not responsible for any damage you do to yourself or to others around you. Proceed at your own discretion and if you are NOT comfortable doing this part yourself, get it done by a qualified electrician.

This project uses a high voltage relay(30 Amps and 240v)to control the irrigation pump.The mains circuit is housed in a separate enclosure and consists of the Miniature Circuit Breaker, A wall socket and a resettable cartridge fuse (the ones where a button pops out).

You will have to wire up the mains line as shown in the below diagram, basically like this:

Power Plug——– Electronics controller ——- MCB——– Wall Socket

After connecting everything up, make sure to route the wires and put the entire setup in a separate junction box with a few ventilation holes drilled in the sides,with the MCB and wall socket showing on top.

Step 3: Making the MCB State-Detection Sensor

The MCB state-detection sensor is basically a custom switch, which detects whether the MCB is in its tripped position or not. Accordingly the Arduino takes the steps to send the error SMS to the pump operator.Arduino Wireless Irrigation System circuit

It consists of two screws, which are placed in such a way that the switch is closed when the MCB trips. One screw is mounted on the MCB’s face plate and the other is mounted on the MCB’s plastic switch. The diagram below clearly explains how I did it.

Attach one wire to Analog 2 on the Arduino , the other one to 5v on the Arduino, placing a 1K pullup resistor at the junction and attach the other leg of the resistor to the common GND on the Arduino. Step 5 shows this properly, in the form of a circuit diagram.(2nd  picture)

Step 4: Assembling the Electronics Controller — Part 1

Part 1 — The Enclosure:

The most important step in assembling the electronics controller is to get to a suitable enclosure in which all the necessary parts will fit.

I managed to find a very suitable cordless telephone in which all the electronics fitted well. I had it lying about, gathering dust, when I found that the Arduino fitted quite well and a few corners would have to be dremelled off for the other electronics to fit snugly.

I disassembled the old phone and took out the existing circuit. Keeping this aside for future projects/parts harvesting, I did the first loose fit of the Arduino, finding that the old power ports on the phone were perfectly spaced for the Arduino’s interface ports. After mounting the Arduino, I snapped off a few safety tabs on the base, so that the extra electronics fitted. The pictures below well document the step.

If you order an enclosure online, make sure that it is large enough and it uses laser-friendly plastics, so that, you can laser cut the interface ports for the Arduino. Otherwise, it is a pain to open up the enclosure every time you want to update the code.

Read more: SMS controlled Wireless Irrigation System using an Arduino

Leave a Comment

Your email address will not be published. Required fields are marked *