What is OpenSprinkler?
OpenSprinkler is an open-source, web-based sprinkler / irrigation controller. It’s a drop-in replacement for conventional sprinkler controllers that are not web connected. A web-connected controller like OpenSprinkler provides the following advantages:
- Intuitive User Interface (UI): no more messing with buttons and knobs, no more running to your garage to make a single sprinkler program change. Instead, use web browsers and mobile apps to set or change sprinkler programs. The web interface is much more intuitive than a small LCD screen.
- Remote Access: you can access your OpenSprinkler anywhere and at any time, whether you are at home, at office, or traveling away.
- Smart Control: OpenSprinkler can connect to the Internet and use real-time weather data (including historic and forecast data) to automatically make water time adjustments. It not only stops watering when it rains, but also scales water time up and down based on your local temperature and humidity.
- Connectivity Options: we offer both controllers with built-in WiFi and controllers with built-in Ethernet connector. In addition, the WiFi version can function without external router, ideal for situations where you don’t have Internet connection at the field.
Who is OpenSprinkler for?
OpenSprinkler is for homeowners as well as business owners including growers, farms, business parks, ranches, golf courses, and sprinkler service professionals. Its applications include lawn and garden watering, plant irrigation, drip irrigation, hydroponics. It’s low-cost and expandable: it can scale from a few zones for a modest house up to 72 or even 200 (using OSPi) for a large business installations like home owner associations. Our app lets you to access multiple OpenSprinklers together for unlimited coverage.
How many zones does it support?
The main controller supports 8 zones. Each expander adds 16 zones. The latest firmware (2.1.9) supports a maximum of 72 zones on OS 3.0 and OS 2.3, and a maximum of 200 zones on OSPi.
What are the different hardware versions?
We currently offer OpenSprinkler 3.0 (the default version has built-in WiFi, you can additionally purchase a wired Ethernet module if you prefer wired connection), and OpenSprinkler Pi (or OSPi, driven by a Raspberry Pi). Moreover, OpenSprinkler 3.0 provides three different flavors: AC-powered, DC-powered, and Latch. AC-powered and DC-powered versions both operate standard 24VAC sprinkler valves. The main difference is that the AC version is powered by a 24V AC adapter; and the DC version is powered by a low-voltage (7.5V) DC adapter. For International customers: DC adapters are generally much easier to find than AC adapters. In addition, DC-powered version can work with any input voltage from 5VDC to 12VDC, including 12VDC solar panel. The Latch controller is also powered by a DC adapter, and operates latching solenoid valves only.
Motorized ball valve may also work with OpenSprinkler: for example, US Solids sells several types of motorized ball valve. The ‘2-wire auto return’ type is directly compatible with OpenSprinkler. The ‘3-wire 9-24V AC/DC’ type is also compatible with OpenSprinkler AC-powered, however, because of the way 3-wire valve works, each valve will take 2 zones (one for opening, one for closing).
How many programs does it support? What about program schedule dates and start times?
The latest firmware (2.1.9) supports up to 40 programs on OpenSprinkler 3.0 and OSPi. Each program allows an individual water time for every station (from 0 to 18 hours, in granularity of seconds, i.e. down to precision of 1 second), and two different types schedule dates: 1) weekly schedule where you can select any combination of weekdays; 2) interval schedule where you can set the program to run every n days (n is between 2 to 127).
Each program also allows two types of start times: 1) up to 4 fixed start times; or 2) repeating start times (e.g. start at 8:30am, repeat every 45 minutes for 8 times). The flexible start times can accommodate both situations where the program needs to run at arbitrary given start times, and situations where the program needs to repeat regularly for many times during a day.
How is OpenSprinkler different from competitors?
Web-based sprinkler controller is not a new idea. OpenSprinkler differs from similar products on the market in the following aspects:
- OpenSprinkler’s has a built-in web interface and runs programs on its own. It does not rely on proprietary or PC-only software, or cloud-only software. The web interface works with any modern (including mobile) browser. The HTTP API is well documented and allows local access without going through cloud server. Our mobile app is free and supports all major platforms.
- You can easily expand the number of zones up to 72 or even 200 (using OSPi). The cost is considerably cheaper than competing products on the market.
- The software provides an advanced set of features, such as water time down to 1-second precision, support for two independent master zones; support for rain sensor, flow sensor, program start switch; manual control using buttons, special station such as remote, radio frequency (RF), GPIO, and HTTP stations. It offers flexible program start times, graphical preview of program schedules and logging data, custom zone and program names, support to run zones either in sequence or parallel. These features are rarely found in competing products.
- We provide both the WiFi option and wired Ethernet jack option. In addition, we do not rely on cloud connection so your controller still works even when Internet is down. The WiFi option can additionally function in AP (Access Point) mode without any external router.
- OpenSprinkler is shipped worldwide, and supports more than 20 different languages.
- OpenSprinkler is built on open-source hardware and software. Its design files are publicly available. There is a strong educational aspect of it. If you are a technical developer, you can easily customize and extend its functionality, both in software and hardware.
Where can I find the open-source files?
All OpenSprinkler design files, including circuit schematic, board design, firmware code, app code, can be found on the OpenSprinkler Github repository: https://github.com/opensprinkler.
Installation and Usage
What’s included in the package?
The package includes one OpenSprinkler controller (8 zones). The AC-powered version does NOT come with 24V AC adapter by default — it can be purchased as an optional add-on, or you can reuse any existing sprinkler transformer you may have, as long as the output voltage is rated between 22V AC to 28V AC. The DC-powered version and Latch version both come with a universal 7.5V DC power adapter by default.
Does OpenSprinkler have built-in wireless?
Opensprinkler 3.0 has built-in WiFi (based on ESP8266 microcontroller). You can additionally add wired Ethernet module as an add-on. OpenSprinkler 2.3 has built-in Ethernet jack, but no built-in WiFi. OpenSprinkler Pi is driven by a Raspberry Pi, and the network options (WiFi and/or wired Ethernet) depend on your RPi.
What type of sprinkler valves can it work with?
- AC-powered OpenSprinkler (including OSPi) works with standard 24V AC sprinkler valves. It’s compatible with existing 24V AC system, including pump start relays, wireless sensors that require 24V AC power.
- DC-powered OpenSprinkler works with both 24V AC sprinkler valves as well as 12V DC (non-latching) valves. It comes with a universal (worldwide) power adapter, which is particularly useful for International customers. However, for certain 24V AC pump start relays and wireless sensors that require 24V AC power, you may need a separate 24V AC power supply.
- Latch OpenSprinkler works DC latching solenoid valves only.
I am new to sprinkler systems. How do I install OpenSprinkler and wire sprinkler valves?
OpenSprinkler is designed to be a drop-in replacement of your conventional sprinkler controller. Whether you are installing a new system or replacing an existing controller, do-it-yourself (DIY) installation is easy and can be completed quickly:
- Carefully label and remove the wires from your existing controller.
- Replace your existing controller with OpenSprinkler, then re-insert the wires into OpenSprinkler.
- Connect OpenSprinkler to your router (WiFi or wired Ethernet)
- Check our tutorial videos in the Support page — Installation section.
If you have an existing sprinkler system setup, the wires should already be ready and often labelled. If you are installing a new system: generally each sprinkler valve has two wires. Connect one wire to the COM (common) terminal, and the other wire to an individual zone port (1 to 8). For multiple valves, one wire from each valve is combined together and goes to the COM terminal; the other wire goes to an individual zone port. If you are not sure, ask a landscaper or go to a home improvement store for help.
Is the controller waterproof?
No, the controller is not waterproof and should not be used outdoors without protection. For outdoor installation, you can buy an off-the-shelf waterproof enclosure, which usually comes with a built-in power outlet, and enough space to fit one OpenSprinkler, a couple of expansion boards, and WiFi adapter.
What sensors does OpenSprinkler support?
OpenSprinkler 3.0 has two independent sensor ports, each can be independently software configured to rain sensor, flow sensor, (digital) soil moisture sensor, or program start button. Any off-the-shelf rain sensor is supported, either normally open or normally closed type. By default, dry-contact flow sensors (i.e. two-wire type) are supported, but some three-wire type (powered by 5V) are also supported. The program start button allows you to connect a switch / button to the sensor port and trigger a program by pressing the button. The firmware allows you to choose the sensor type and configure the sensor parameters. Note: currently flow sensor is only supported on the first sensor port.
OpenSprinkler 2.3 has one sensor port that can be software configured to any of the above sensors.
Does OpenSprinkler support analog soil moisture sensor?
While OpenSprinkler can work with a digital soil moisture sensor that outputs binary signal (i.e. 1 or 0), the firmware currently does not support analog soil moisture sensor, or digital sensors which do not output binary signal. Development is under way to integrate analog soil moisture sensor. At the moment, you can combine your analog sensor with a voltage comparator circuit such as based on LM393, to achieve the analog to binary output conversion. As OpenSprinkler is open-source, you can modify the software to include these and additional sensors such as water-level sensor, motion sensor. If you are not familiar with programming, this provides a great motivation to start learning to program.
Does OpenSprinkler support master zone or pump station?
Yes. OpenSprinkler uses software-defined master zone / pump station, and supports up to 2 independent master / pump zones. Any of the available stations can be configured as a master / pump zone.
Can I insert two wires into the same zone port?
Yes. But keep in mind that if you do this the two zones will always open or close at the same time.
Can I run multiple zones simultaneously?
Yes. OpenSprinkler firmware allows each zone to be set in ‘parallel’ mode, by turning off it’s ‘sequential’ flag. A parallel zone can run at the same time with other zones. The maximum number of simultaneous zones depend heavily on the power capacity of your adapter, and how much current each solenoid valve draws. We’ve tested running 4 to 8 zones simultaneously in lab settings, but the actual number of simultaneous zones has to be determined on a case by case basis.
Can I use OpenSprinkler to switch devices other than sprinkler valves?
Yes. OpenSprinkler firmware has built-in support for GPIO (general-purpose) IO stations, HTTP stations, and radio frequency (RF) stations. This allows it to directly toggle a spare GPIO pin, send a general HTTP GET command, or talk to RF remote power sockets, which in turn switches any powerline device, such as landscape lights, Christmas lights, pumps, heaters, fans. Details can be found in our blog article. Besides, you can also use 24V AC relays to allow OpenSprinkler to switch other devices. Details can be found in this blog article.
What are the LCD and buttons used for?
OpenSprinkler has a built-in LCD screen which displays the current time, zone status, and rain status. The buttons are used to display OpenSprinkler’s IP address, perform factory reset, and manually start a program on the controller (useful for example, to landscapers for testing sprinkler zones).
How do I check the IP address assigned to OpenSprinkler?
Click button B1, and the IP address will be displayed onto the LCD screen.
How do I run a program manually using buttons
Press and hold button B3 until you see the Start a Program message. Then follow the instructions on the LCD screen.
What happens if I lose power?
OpenSprinkler stores all programs and settings in non-volatile memory. So the data is preserved during power outage.
How do I access OpenSprinkler?
OpenSprinkler has a built-in web interface that works with most desktop and mobile web browsers. Just open a browser and type in the controller’s IP address of the controller.
We also provide a free OpenSprinkler mobile app. To install OpenSprinkler mobile app, search ‘OpenSprinkler’ in your app store and install it. The mobile app can automatically scan your local network to discover OpenSprinkler’s IP address.
Unlike some other web-based controllers, OpenSprinkler does not require cloud connection — your data resides locally on your controller and you can access it locally without requiring Internet.
Can OpenSprinkler run offline without web connection?
Yes. Once programmed, OpenSprinkler can run offline without network connection at all. The controller has built-in real-time clock and battery for time keeping. You can also manually start an existing or test program on the controller by using buttons.
Can I use OpenSprinkler without a WiFi router?
With the latest firmware (2.1.9), OpenSprinkler 3.0 supports all functions in AP (Access Point) mode — it itself can serve as a Wifi hotspot, allowing mobile phones and laptops to connect to it and operate sprinkler zones.
How do I access OpenSprinkler remotely, such as from office?
You can access OpenSprinkler remotely by using the port forwarding feature that’s available on most routers. To do so, you need to log into your router’s configuration page, go to the Port Forwarding section, and set up an entry that maps an external request (from outside your local network) to OpenSprinkler’s IP address and port number. Tutorial videos can be found in the Support page. Once set up, you’ll be able to access OpenSprinkler remotely, by using your router’s external IP address. You can find out your external IP address from your router’s status page, or simple open a browser and search ‘what’s my ip’.
Does it support push notifications?
Starting from firmware 2.1.7, OpenSprinkler supports push notifications through IFTTT, which can be configured to send notifications through SMS text message, email, or app notifications. Please check this Support Article for details.
If I have multiple OpenSprinklers, can they talk to each other?
Our firmware supports Remote Stations — a feature that allows one OpenSprinkler to function as a master controller sending commands to one or multiple remote controllers to open or close their valves. This is useful if you have a large property with separate clusters of valves.
How fast can you ship?
Unless noted otherwise or for back-ordered products, we generally ship within 2 days after your order is placed. Once shipped, you will get a notification with tracking number.
What shipping options do you provide?
For Domestic orders within the United States, we offer Flat-Rate Shipping via United States Post Office (USPS). The delivery time is typically 2~5 days after the order is shipped. We do NOT provide 1-day or overnight shipping. If your delivery address is not serviced by the post office, please contact us directly for other options.
*Alert for International orders: Due to COVID-19, all first-class international packages are affected. First-class service to some countries are suspended, and to some countries are severely delayed. Please check the USPS website here for updated information. Given the situation, we strongly recommend you to consider Express option (carried out by either DHL or UPS).
For International orders, we offer USPS (post office) first-class mail package, and Express option (carried out by either DHL or UPS). USPS first-class mail package is the cheapest but the delivery time and trackability vary dramatically by country — for example, to some countries like Australia it’s usually delivered in 2~4 weeks and it’s trackable; but to other countries it may take 4 to 8 weeks and there is no tracking number. In rare cases we’ve seen packages delivered after 10~20 weeks.
If you want faster delivery time, please consider the Express option, which has a delivery time of 4~8 days and provides full tracking number.
Note 1: if you have custom shipping need (such as urgent or overnight shipping, using your own shipping account, or use other services like Fedex or DHL), please contact us directly. Please note that overnight shipping is frequently delayed due to various reasons. If you order with overnight shipping, we make our best efforts to get the package shipped on time, but we cannot guarantee it will be delivered the next day.
Note 2: we are not responsible for customs duty tax payment, which varies from country to country. Express packages are all subject to duty tax payment, particularly in European countries. The tax amount is calculated by your customs office and we have no control over it. If you have questions about duty tax, please contact your customs duty office for details. To avoid duty tax payment, consider buying from our distributor instead.
Note 3: for international shipping, if you chose First-Class mail package, we are not responsible for package loss because first-class international packages are un-trackable and not insured.
What’s the difference between the various versions of OpenSprinkler?
OpenSprinkler is a fully assembled commercial product that works out of the box. It comes with buttons and LCD.
OpenSprinkler Pi (OSPi) is a sprinkler extension board for RPi — it uses RPi as the main processor. Users are expected to have some experience with RPi to set up software. Please check the specific product webpages for details.
|OS AC/DC/Latch||OpenSprinkler Pi (OSPi)||OpenSprinkler Bee WiFi|
|Compatibility||AC/DC/OSPi both operate 24VAC sprinkler solenoids. OSDC additionally supports 12V non-latching DC solenoids. OS3 Latch version only supports DC latching solenoids.||DC Latching solenoids|
|Power Source||OS AC and OSPi requires 24VAC power adapter (not included by default)
OS DC and Latch are versatile: 5V~12VDC (e.g. 5V USB, 12V solar panel). A 7.5VDC adapter is included.
|# of Stations||8 (expandable to 72)||8 (expandable to 200)||3 (not expandable)|
|Processor||ESP8266||Fits all RPi except RPi 1 model A/B||ESP8266|
|Assembly||Fully assembled||Requires plugging in RPi, assembling enclosure,
and software setup on your own.
|LCD||Yes (128×64 OLED)||None||Yes (128×64 OLED)|
|Ethernet Jack||OS 3.0: yes, with Ethernet add-on||Yes if using a version of RPi that has it.||None|
|Built-in WiFi||OS 3.0: yes||Yes if using a version of RPi that has it.||Yes|
|Firmware||Unified OS Firmware||Unified OS Firmware||Custom OSBee Firmware|
|Firmware Upgrade||OS 3.0: Over-the-Air (OTA).||via Network||Over-the-Air (OTA); or through on-board USB serial.|
|Targeted to||Everyone||RPi enthusiasts||Everyone|
|Price||$150||OSPi: $80 + $15~$30 (RPi and uSD card)||$50|
|Package includes||OS controller, terminal blocks,
|Fully assembled OSPi board, terminal
blocks, with enclosure. RPi not included.
|Fully assembled OSBeeWiFi board,
with 3D printed enclosure
|Enclosure||Yes, injection molded||Yes, laser cut acrylic||Yes, 3D printed|
|Optional Add-ons||OS AC: 24VAC adapter.||24VAC adapter||USB adapter|
|Bottom-Line Price||$150 (including WiFi)||$95~$115 (including RPi, WiFi, uSD)||$55|
What’s the maximum distance allowed between the controller and the valves?
This depends on the wire gauge (AWG) that you are using to connect the valves. In general, you can run up to 700 ft (200 m) with 20 AWG wires, 1000 ft (300 m) with 18 AWG wires, and 1500 ft (450 m) with 16 AWG wires. Thicker wires allow longer distances.
What’s the maximum distance allowed between the main controller and extension boards?
Again, this depends on the wire gauge (AWG) of the extension cable. The default cable shipped with expansion boards is a 24 AWG 15-inch long cable. You can extend the length by using a custom-made cable such as by using a wired Ethernet cable.
Can I connect the sprinkler valves with garden hoses?
Sure. You will most likely need an NTP (National Pipe Thread) to GHT (Garden Hose Thread) adapter which you can get online or at local stores.
Can I used motorized ball valve with OpenSprinkler?
Yes. For exampe, US Solids sells several types of motorized ball valves. The ‘2-wire auto return’ type is directly compatible with OpenSprinkler. The ‘3-wire 9-24V AC/DC’ type is also compatible with OpenSprinkler AC-powered, however, because of the way 3-wire valve works, each valve will take 2 zones (one for opening, one for closing).
How do I upgrade firmware?
OpenSprinkler 3.0 supports firmware update Over-the-Air (OTA) through WiFi. OpenSprinkler 2.3 requires a USB cable and a computer to upgrade firmware. OpenSprinkler Pi supports network or script-based firmware update. Check the Firmware Update Guide page for instructions.
How can I set a static IP address?
The recommended way to set static IP address is by using your router’s DHCP Reservation or Bind IP to MAC feature.
Alternatively, you can set a static IP address on OpenSprinkler by turning off OpenSprinkler’s DHCP option, then manually set a static IP and the gateway (i.e. router) IP. Note that you must set the router IP correctly in order for all features to function correctly.
How do I restore settings to factory default?
Power off OpenSprinkler. Then power it back on, and when you see the OpenSprinkler logo, immediately press and hold the first button B1 until you see the message ‘Reset All’? Make sure it’s Yes, then press and hold the third button B3 until the controller restarts and finishes resetting.
How does OpenSprinkler’s weather-based adjustment work?
The weather-based adjustment first uses your location to query Wunderground.com for real-time weather data (available worldwide). It then calculates a % Watering value which is applied to all station water times. The percentage value is calculated based on your local temperature, humidity, and precipitation (rainfall), and varies between 0% to 250%. The value is updated every hours. For example, low temperature, high humidity, and/or considerable rainfall all lead to reduced watering, thus saving water usage.
How can I help OpenSprinkler to support more languages?
OpenSprinkler’s language localization feature is crowed-sourced so anyone can help. Go to the Web Interface -> Sidebar -> About page, click on the link to the localization website.
Can I develop my own app, or use my own scripts to interface with OpenSprinkler?
Absolutely. Please refer to the Support page for API documentation.