Sprinkler Controller Automation

Another node type is now available on the Gateway automation interface: a sprinkler controller. This is achievable through a board I designed to be able to control many outputs. I call this board IOShield and it features two 74HC595 serial to parallel shift registers.The IOShields are daisy chainable and can take 24VAC through a buck regulator. Wireless control is done with a regular Moteino or MoteinoUSB and in a daisy chain only the first board would need the regulator and Moteino. These are now available in the web shop. See the overview video and details/code below.

I had an old sprinkler controller which worked just fine. But I had a few things I could be improved:

  • The programming interface was not really intuitive, definitely not user friendly
  • Every spring when it needs adjustment or sprinklers tested and fixes, it’s a pain to turn it on manually and then run in the far end of the yard to check/fix a sprinkler
  • Water is expensive and Michigan weather is unpredictable. I need a finer control of the sprinklers and the ease of turning programs or zones ON/OFF remotely, or when I’m away from home

I took apart the sprinkler controller to figure out how it works. There are 2 boards, one hosts the 24VAC TRIACs and circuitry that powers the solenoids. The other was a controller board with user interface, LCD, buttons etc. This gets power from the first board and controls the TRIACs through a ribbon cable. A quick continuity test reveals the pins of the ribbon connector control the gates of the TRIACs, simple enough.

So I designed the IOShield to be able to take the same 24VAC input and power the Moteino and itself. I have 9 sprinkler zones, but one IOShield will support up to 16 outputs. I can use the TRIAC board and only tap into the 9 zones that are active. I can just use the first board with all the TRIACs and then replace the clunky standalone sprinkler controller board with the IOShield+Moteino combo for completely wireless control and integration to the Gateway. If you have a similar older controller you may be able to do a similar setup with otherwise minimal changes to your sprinkler system. Here’s the hacked controller and control from the Gateway UI:

The RFM69 IOShield example skech for sprinkler control has been posted at Github.

The latest Gateway metric definitions also contain the definition for the sprinkler node, just plug it in and it should pop right on the interface. Sample zones and events have been defined as well, you can easily define your own or make your own schedules in metrics.js. Graphing will show you which zone ran, for how long etc. Enjoy!

11 thoughts on “Sprinkler Controller Automation

  1. Hey Felix, that was a cool demo.
    I was just wondering whether you’ve ever seen (or considered using) IBM’s NodeRed for your automation system?
    It’s a little something I’ve been using lately, and I find it to be very useful!

    • Yes. Think of the 16 channels as 16 outputs that can be set LOW or HIGH. So you can drive anything like relays (through transistors/mosfets), LEDs, etc.

  2. Hi Felix,

    that’s totally cool. I was just working on a Moteino solution to control a Hunter sprinkler system.

    I have a Moteino in place receiving a message to turn ON/OFF a certain pin. The pin is attached to a relay board, which would then switch on/off the 24VAC of the valve control circuit. See here: http://www.directupload.net/file/d/4104/744fwmto_jpg.htm

    The prototype Moteino is battery powered as I just ordered the USB Moteino. The productive solution would have a 5V powered USB Moteino, an 8 channel relay board and the 24VAC power supply for the sprinkler valves.

    When I understand the use of the IOShield correctly I can get rid of the 5V power supply (using the buck regulator and the 24VAC power supply powering a regular non USB Moteino) and also the relay board. Correct?

    Only one question left to ask, when will the board be available again? 🙂

    Cheers from Germany!

    • First be careful how you power your relay board, the Moteino 3.3V source cannot source more than 250mA total power (Moteino MCU and radio included).
      You could do all of this by using 8 digital pins (analog pins can be used as digital except D6,D7) of the Moteino then you would not really need a IOShield, or a MoteinoMEGA which has a lot more IO pins. I hope to make some IOShields in the near future.

      • Yes, using the Moteino power source for the relay board was just for the prototype. Thank for the hint anyway.
        I thought by using the IOShield I could get rid of the relay board at all. Can I? Is the output of these 16 channels of the shield 24VAC when set to HIGH?
        I like the idea of only having one power supply (24VAC) and no relay board as in my case “size matters” as I am limited at the position the Moteino needs to operate.

        • The IOShield is only giving you more outputs, it’s not 24VAC (!). You will need some relays or TRIACs to turn ON your valves/solenoids for the sprinklers. If you can get away with a Moteino with 8 outputs you don’t need the IOShield. You will just need a regulator and 100uF 50V capacitor to regulate from 24VAC to 5V.

  3. Pingback: Hack Puts Aging Sprinkler System Online | Hackaday

  4. Pingback: Automating an old sprinkler controller with Moteino | Atmel | Bits & Pieces

Comments are closed.