Introduction: Excellent (and Inexpensive) Alternative Smart Irrigation Controller.

First I would like to thank you for your interest in my first Instructable. The situation; My current Irrigation controller decided to take matters into its own hands and water when it felt like it, instead of when I needed it to. I decided what I need is a smart controller since water conservation is priority as well as needing better control over functions. My requirements needed to be outdoor controller, WiFi accessible, at least 9 zones, easy to program/operate, water conserving (not water on rainy days), and be able to manually operate from my phone in the front yard without having to run around the back to the controller. After doing a lot of looking around I found a few instructables that were outdated (obsolete hardware/software) or didn't exactly cover what I was looking for. I stumbled across Opensprinkler and found almost what I needed. What was offered is a complete package for a very reasonable price compared to other commercially offered controllers with less functionality. Although I liked the features offered ,and it was close to what I needed by the time I added an expansion board (because its only 8 zones) it pushed the cost too high. I wanted to build my own to my exact needs while keeping the cost down. I finally found exactly what I needed a TAIO Smart Sprinkler Controller. I will walk you through my easy build.

Step 1: The Brains of the Operation.

The TIAO Smart Sprinkler Controller, is a 16-station sprinkler controller based on the OpenSprinkler design and build on top of AVR MicroCotroller, which allows your to control your irrigation system from anywhere you have an internet connection. You can also expand >16 zones with an additional expansion board if you need it. This design is perfect for this instructable since you can mount it in an enclosure of your choosing and the connection can be wired (Ethernet) or in my case I used an outdoor WiFi bridge since I didn't want to run an Ethernet cable outside my home. I highly suggest putting in a Micro SD card for logging. I used a 2Gb card I had laying around.

Step 2: The Rest of the Parts

For my application I need to mount the controller outdoors and it needs to be able to handle the extremely wet winters in the Pacific Northwest . I chose an Carlon E989 weatherproof PVC 8x8x4 electrical box since I wasn't worried about needing to access the inside of the box because all of the configuration/operation is done over the network. They are available from most electrical supply or home improvement stores. I've seen prices vary so if you decide to go with this box shop around. I also picked up an outdoor WiFi bridge on Ebay since I wanted to make sure I get a strong wifi signal to the bridge. My AP sits approximately center of the house and with all the walls my signal is weaker outside. The Bridge I used can be found here. It works very good and it comes with a POE injector. The unfortunate side is the setup instructions are very confusing (too much lost in translation and too much missing information). luckily I was able to figure out most of it on my own through trial and error. Other parts I used and had on hand are easily found online or locally:


(If you use a different transformer I suggest getting a fuse or circuit breaker rated for the circuit you use to protect your equipment)

#6-32 Stainless coupling nuts

#6-32 pan head machine screws

#8-32 flat head machine screws and nuts

2 1/2 x 2 1/2" Aluminum angle

Hubbell Wiring Device Cord Connector, Low Profile, Gray, 1/2 In - Strain Relief Connector (or similar)

2 pole screw terminal board (or similar)

5 minute clear epoxy adhesive (syringe type)

Clear acrylic plastic

Blue Thread Locker

Step 3: Assembly and Test

I needed space for the POE injector so I had to raise the controller above it. The solution was to cut the angle to fit the board, drill holes through the box, tap the aluminum for the 8-32 SS machine screws to bolt to the box. I then bolted the 6-32 coupling nuts to the aluminum angle, then the controller to the coupling nuts. Underneath I modified the injector to wire directly to the terminal board with the transformer's primary wires. The injector was then epoxied to the box ( make sure you rough up both surfaces to be bonded beforehand). I drilled the holes for the 8-32 screws and mounted the transformer to the box. I also drilled the mounting holes for the terminal board, and bolted it to the box with 6-32 SS screws and nuts. NOTE: use blue thread locker on all bolted connections. for this project. Next was the modification of the cover and mounting the WiFi bridge. I figured out where the window placement would be so I cut it carefully with an oscillating multi tool and cleaned it up with a file. Next I marked and cut the acrylic sheet slightly larger than the hole in the cover, cleaned it up with a file, and epoxied it in place. Once the window was set ,I laid out the mounting and cable holes for the bridge, drilled the holes for the #8 screws and the Ethernet cable, put a rubber grommet in, ran the cable through, and then bolted the bridge to the cover using 8-32 SS screws and bolts. The last thing to do was to drill the hole for the power cord and make the mains connection to the terminal strip, secondary leads from transformer to the controller, and Ethernet cables to the proper connectors on the injector and controller. Once that was all connected I powered everything up for the first time.

Step 4: Wrapping It Up

Once everything powered up I was able to access the controller and configure it very easily. I had already set up the WiFI bridge before I assembled the controller so it would connect to my network the next time I powered it up. Now it was time to mount it permanently outside where the old controller lived. I made all my valve connections, plugged in the power, and waited for it to boot up. I ran each station manually via my cell phone and labeled each station accordingly. Now my lawn and plants are doing much better and It was easy to log in and manually delay the program run later when I had a function that was running into the program time. The configuration and operation for the controller is well documented here. Also if you want the controller to adjust the watering to local weather forecasts I suggest you register with Weather Underground and get an API key to use.