This is a project that's been in the back of my mind for many years. The current California drought has provided additional motivation to move it forward.

Most commercial sprinklers controllers have only two programs and up to 12 zones. With a mix of traditional lawn, shrubs, drought-tolerant plants, fruit trees, and a vegetable garden, I have the need for a bit more than merely two programs. Using a fairly generic miniature computer (Raspberry Pi) and a fairly generic USB relay board (Denkovi), I've built a basic platform to fulfill this need.

Though this implementation has only sixteen relays, many more can be added, though they might not fit in the housing I've used. Using a miniature USB hub, various sensors--such as temperature, rain, and soil moisture--can be used to help implement dynamic watering schedules.

The controlling software is the last bit to be implemented. I've already written a C library with which to control the USB relay board. This can be connected to a simple cron job. The next step will be a web interface. After that, a touchscreen interface connected directly to the controller would be a nice touch, though this will likely constitute a large amount of work.

Naturally, it would be the geeky thing to do to use the Raspberry Pi's GPIO pins to control the relays, but that would added some complexity that I simply don't have the time for.

I have yet to evaluate the reliability of the system. The transformer is lifted from an old Orbit controller, so it should be fine. The power supplies are off-the-shelf affairs that I'm not expecting to cause trouble. The Raspberry Pi, its SD card, and the USB relay board are the items I feel need to be watched closely. While it would be unfortunate if something went awry and left me with a brown lawn, at least I would be saving water. However, if a relay became stuck closed--especially if I was away--I could have a big, wet, expensive problem.

Neither do I have any particular confidence in the electrical safety of this project. I've made no particular effort in that area other than to replicate the power transformer's electrical ground as it was found in its original home.