Need help with SIP?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

221 Stars 126 Forks 951 Commits 9 Opened issues


A highly customizable DIY irrigation/sprinkler controller based on Raspberry Pi

Services available


Need anything else?

Contributors list


Sustainable Irrigation Platform

SIP is a free Raspberry Pi based Python program for controlling irrigation systems ( sprinkler, drip, etc ). It uses web technology to provide an intuitive user interface (UI) in several languages. The UI can be accessed in your favorite browser on desktop, laptop, and mobile devices. SIP has also been used to control pumps, lights, and other Irrigation related equipment.

The core program is very versatile and there is a growing number of available plugins for added functionality.

Software support:

Starting with version 4, SIP can run under Python 2.7 and Python 3.\ Most of the required Python packages and modules such as and Cheroot are included in SIP's GitHub repository.\ Installing SIP by cloning from GitHub enables easy upgrades via

git pull
on the command line or by using the included

To install, simply clone SIP into the /home/pi/ directory of your Raspberry Pi:\

sudo git clone
\ If you are running Raspbian Lite you may need to install git first with:\
sudo apt-get install git
.\ For setup and usage instructions see the SIP documentation wiki.

Hardware support:

SIP is developed and tested on Raspberry Pi although there is limited support for Beagle Bone Black and Odroid-C2. It has been tested on most Raspberry Pi models including Pi Zero.

There are a number of options for connecting SIP to an irrigation system including relay boards and hats connected directly to the Pi's GPIO pins as well as OpenSprinkler boards and a DIY shift register interface that can support a large number of stations while using only 4 GPIO pins.

Communication with other systems

  • SIP can be controlled and monitored using HTTP GET commands.
  • With the addition of available plugins SIP can communicate with other systems via MQTT.
  • SIP can also issue Linux shell commands when a station is turned on or off. This is useful for controlling wireless remote devices and for I2C relay hats and boards.
  • There is also a mobile_app plugin shipped with SIP that transmits and receives SIP settings and status information in json format.
  • The Blinker package that is shipped with SIP sends messages to other Python modules such as plugins to report changes in status. See the file in SIP's plugins folder for examples.

Get involved

The motivation for developing SIP is to enable a very low cost yet sophisticated solution for the efficient use of irrigation water, an increasingly scarce resource world wide.

SIP has been greatly improved by contributions, large and small, from the user community.\ For example all the UI language translations have been contributed by users. If you would like to contribute a language translation or update an existing one please see the translation instructions on the wiki. It is rather easy.

To report a bug, make suggestions or contribute to the SIP project open an issue or pull request on GitHub.

To ask question and learn more about SIP please visit the SIP Forum

GNU GPL License

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.