Linux sprinkler controller project

Doran L. Barton fozz at
Mon May 11 00:17:57 MDT 2009

On Saturday 09 May 2009 22:06:09 Dave Smith wrote:
> If anyone has any ideas, I'm all ears.

Arduino. <>

I've never actually done this, but, like you, I think it's stupid to buy these 
cheesy controllers for $30 that do nothing more sophisticated than cron jobs. 

As far as how sprinkler systems work, it's really simple. The valve opens when 
you apply a voltage to it. Most controllers have around a 15V DC output. The 
valves are pretty dumb and will probably open given 12V - 30V. 

Now, most microcontrollers like the Arduino have digital outputs, meaning they 
can output a voltage (usually 5V) or not (0V). Think 1 and 0. 

Now, the simplest thing to do is connect the digital output to one side of a 
relay. A relay is a mechanical switch that turns power to one circuit on and 
off based on the state of another voltage, the control voltage. Relays are 
used to switch a higher-voltage circuit from a low-voltage signal, which is 
exactly what you want to do.

Here's an example (turn on your fixed-width fonts for best results):

   Your Linux PC---(usb)--->Arduino--(pins 13 and 14 (ground))---+
   15V DC power supply------>Relay<-----------------------------+
                              +-------->Sprinkler valve

Then, you write a simple program using the Arduino API to set the state of 
pin-13 to high (applied voltage). This engages the switch inside the relay, 
letting 15V out to the sprinkler valve. Just make sure none of the electronics 
are in the path of your sprinklers. 

< > has some nice Arduino hardware and clones as 
well as good howto videos and other helpful information.

Doran L. "Fozz" Barton <fozz at>
Open-source developer, sysadmin, consultant, and all-around geeky dude
 "Push this button in case anything happens."
    -- Seen above elevator emergency call button

More information about the PLUG mailing list