OpenSprinkler Forums OpenSprinkler Unified Firmware New to OpenSprinkler with an unusual setup

  • This topic is empty.
Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
  • #22459


    As the subject says, I am new to OpenSprinkler but have 50 years experience as a programmer and software development executive.

    But I have an unusual setup and need some guidance as to whether I can apply OpenSprinler.

    I live in Western Colorado with an irrigation ditch which feeds a 1200 gallon cistern.

    A 240V pump (which is controlled by a Square D manual hi-lo pressure switch) pumps from the cistern to the irrigation system manifold which has 4 zones.

    Currently the valves are all manual but will soon be replaced with electric ones (RainBird probably).

    Since the irrigation ditch flow is variable and unpredictable based on supply levels and upstream usage, I use the cistern to provide about 15-20 min watering per zone when full.

    So my usage scenario is:

    1. Don’t do anything until the float sensor indicates the cistern is full.
    (Note: the cistern is equipped with a 12V wired water level float sensor (on when full, off when empty or the other way around if needed)

    2. When the cistern indicates full I need the pump started.

    3. Then I need to select the new zone based on the last one watered.

    4. Watering the current zone should stop when either the float sensor indicates cistern empty OR a time period expires OR water pressure is not between 40-60psi.
    (Note: the last condition is to duplicate what the Square D pump switch does now and serves to protect the pump)

    5. Once one of the “ending” conditions is met, the system should revert to step one.

    Anyone have any thoughts on how to apply OpenSprinkler to this situation.




    I’m a software developer just starting with open sprinkler systems, so take what i say with a grain of salt. In your scenario I would go with only the pi-powered open sprinkler controlling the valves and also connecting the sensor to the pi. A linux service can easily be run on the pi to do whatever work you want it to:
    – wait until full
    – if it rains or it will rain in X hours stop for y hours (optional)
    – get last used valve id
    – increment the valve id
    – start watering
    – wait until Z minutes have passed or sensor empty
    – start all over again



    @obrienj: if you have experience with programming in Arduino, you can easily use OpenSprinkler to achieve your plan. There are several available pins on OpenSprinkler to interface with sensors. You do need to customize the firmware to do what you need, but given the description it shouldn’t be difficult.

    OpenSprinkler Pi would also work fine.

    The choice depends on whether you are more familiar with Arduino programming, or python.




    Unfortunately even with many year of programming under my belt I am unfamiliar with Arduino programming, or python.

    I do know C/C++, Java, C#, JavaScript, and a number of other languages which are lost in antiquity.

    I did notice that OpenSprinkler appears be be written in C++ so if that is an option for my work then I need to understand:

    1. A build environment on Windows 7. A simulator would be nice for testing.

    2. The pins you mention for things like a water pressure sensor input (I have no idea what to use here) and water level input (a simple switch either normal on or off)

    3. How to load the code onto the OpenSprinkler device.

    On the other hand, if I don’t need to code at that level for what I want to do, you did mention Python and if there are some examples I guess at 72 I can learn yet another language.

    I look to your advice.


Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.

OpenSprinkler Forums OpenSprinkler Unified Firmware New to OpenSprinkler with an unusual setup