Open-Source Internet-based Sprinkler / Irrigation Timer
OpenSprinkler is available for purchase at Rayshobby Shop. Choose either a fully assembled product, or a DIY kit (including PCB, components, and enclosure to make your own OpenSprinkler).
Mobile Web App Tutorial
Firmware 1.8 Video Tutorial
- OpenSprinkler v2.1s (fully assembled)is available.
- OpenSprinkler v2.1u (semi-assembled DIY kit) is officially released.
- Mobile web app for OpenSprinkler is available. Check this blog post for details.
- Please check the Online User Manual for firmware details.
- To receive updates, you can sign up to the Rayshobby RSS Feed, Google+, Twitter, or OpenSprinkler Email List, .
OpenSprinkler is an open-source Internet / web-based sprinkler timer / controller built upon the Arduino platform. It works with standard 24VAC sprinkler valves commonly found in household watering and irrigation systems. You may be planning to buy or have already purchased a commercial sprinkler timer / controller, but chances are that these systems provide a limited set of fixed functionality, and have no web scheduling and monitoring capability. These limitations are the main motivations for this open-source project.
This project is a collaboration between me and Chris Anderson (former editor-in-chief of the Wired Magazine).
Basic Feature List:
- Built-in Ethernet controller provides web-based scheduling and monitoring, through either wired or WiFi connection (note: WiFi connection requires a wireless adapter or bridge).
- Based on ATMEL microcontroller and the open-source Arduino software. Once water schedules are set (through the web interface), the controller operates on its own and does not require either a computer or Internet connection to run.
- Each board controls 8 stations, and each station can be individually programmed. By linking zone expansion boards, the controller can support up to 48 stations (can be increased further in software).
- A rich set of software features, such as interval-based programming, graphical preview of program settings, manual override, http port change, DHCP or static ip, custom station names, station delay, per-station control of master valve, master on/off delay, water level, and support for external rain sensor. The source code is completely open and free.
- Single power supply design using standard 24VAC sprinkler transformer. Program settings and schedule data are stored in EEPROM and preserved during power loss.
- The controller has built-in USB programmer, push buttons, LCD display, RTC timer, backup battery, screw terminals, and Ethernet connector. Firmware update is programmed through built-in USB.
- Injection-molded project enclosure with wall-mount back panel.
Differences with Similar Products:
Web-based sprinkler timer is not a new idea. OpenSprinkler differs with similar products on the market (such as RainMachine, HydroFlash, IrrigationCaddy, EtherRain, CyberRain, Rain8 etc.) in the following aspects:
- OpenSprinkler’s built-in microcontroller runs water schedules on its own. Program schedules and settings are stored in non-volatile memory. It does not require any external computer, server, or software to run.
- All settings are done through a web browser or mobile app. Any device with a modern web browser (IE excluded) can work with OpenSprinkler. It does not use any proprietary software or PC-only software.
- You can easily expand the number of stations and the cost is significantly cheaper than other products on the market.
- Above all, OpenSprinkler is open-source and built using free software. It provides a rich set of features, some of which are rarely found on other similar products. There is a strong educational aspect in it. You are given the flexibility of making modifications to expand its functionality. You are welcome to contribute to this project through GitHub.
- Generation 1.x hardware design is compatible with JeeNode and Nanode RF. The circuit can be used as a general-purpose Ethernet and RF-enabled device control board.
- PCB pinouts for digital and analog pins that allow interfacing with external sensors and actuators.
- The on-board triacs can also be used to switch other AC devices, or replaced with MOSFET/transistors to switch DC devices. By using an RF transmitter, the controller can be used to switch power sockets.
Most importantly, OpenSprinkler is an open-source product, so you can feel free to build it, program it, modify it, or hack it! The design, including schematic, PCB, and parts list can be found in the Download section. Content on this site is published under the Creative Commons Attribution-ShareAlike 3.0 license.
Leave your comments and suggestions at the Rayshobby Forum. Thanks!
Previous hardware release videos and notes are archived here.