rain water irragation controler

monitor you water levels in your tank and control 4 irragation zones while monitoring the soil moisture for them

Similar projects worth following
watering my garden has been a love hate thing love the garden
not a fan of watering by hand all summer due to water restrictions
so by collecting rain water and storing it I have been able to water my garden as much as needed
with out concern for the restrictions and by any means I choose and as a small plus
I don't pay for the water used either
and with the addition of automation I should be able to get better vegetable crops
and healthier plants all around by making sure they get enough water for the weather
with out over watering
some of my goal with this project are to integrate with wunderground weather to not only share the info I collect but to use the forecast to control the amount of water my plants need
to track my water usage on thingspeak to forecast how long my water supply will last
and to alert me when they get low so that I may transfer from my reserve holding tank
On that not I look forward to comments and conversation about this project

I am watching the water level in a larger tank and controlling 4 automated sprinkler zones
with much info graphed on think speak all powered from a particle photon

water level monitoring
soil moisture monitoring
web based control
cloud storage of data collected (water level, soil moisture for each zone, temp and humidity)

all of my code I release will be free GNU GPL as stated in my github repo

this has been my main project to learn JS and C so much of the code is rough and some borrowed chunks here and there most of which have been mashed to work my way
I am currently only using one of the 4 cloud functions for the web interface
to leave as much room as possible for further integration also I am not using any or the 10 cloud variables this leaves a great deal of flexibility for later

this set up I currently have could easily be used with out the pump if you wanted to just gravity feed the sprinkler lines

my current setup :

I have a large tank under my Deck approximately 1600liters (400 gal) and a small used shallow well pump controlled with a pressure switch to provide the water to the sprinkler system. this setup includes a pressure tank the pump and a pressure regulator. the details on the plumbing are not really the subject of this project as every install is going to be different I will at some point go over my whole plumbing setup as a example install

but for now we need a water source that can provide more than 15 psi to the 12v valves so that they operate reliably if this is gravity or a pump thats fine or find some other valves that don't need as much pressure

these valves are contolled by relays that are triggered from the controller . the controller monitors the soil moisture levels and adjusts the amount of time the sprinkler zone is turned on for the goal is that the controller can tell if you watered by hand or if it rained and doesn't add more water than needed to maintain the plants but will never add more than you tell it too all zones are controlled by timer and the soil moisture sensors are just used to adjust the amount of time

the controller also monitors the level of water in the tank and reports that to the cloud so you can monitor the usage of water and alert the user when the tank gets low to avoid plant and equipment damage

future plans are to build a board that houses the photon and all of the moduals I have been hacking together to make this work


Kicad schematic file the rest of it is going to end up on the gut hub as I build it

x-kicad-schematic - 11.50 kB - 07/25/2016 at 07:30


  • 1 × particle photon
  • 1 × 4 channel realy board
  • 1 × soil moisture sensor
  • 4 × 12v solinod valves
  • 1 × Pump

View all 8 components

  • Re write

    Rob08/01/2016 at 07:03 0 comments

    well with the way things are going here

    I'm set to start my first rewrite of most of the code look for some updates in the next few weeks . I will be building a nicer web interface and making a few changes to the firmware going to try to allow for 5 programs that allow you control multiple zones which should also allow for running zones more than once a day. also going to be adding automatic re populating forms so you don't have to refill them each time you want to make a small change

    the plane is to allow picking zones the same you pick days currently and giving each one a binary bit so that 9 could be sent converted to 1001 and would be translated to zone 1 on zone 2 off zone 3 off zone 4 on which is how I currently pass my day selection from web to photon hopefully decoding binary like this wont be to hard in php once I sorted it out in C it wasn't to bad but I had a lot of help but this is low on the list for now i just want to get the redesign started

    so if anyone is interested in jumping on board and helping me learn as we go with php for much of it this time I think if not at least the to make the form self populating I will need a little php

    see you guys in a few days

  • pcb layout started

    Rob07/25/2016 at 07:29 0 comments

    well I broke open kicad for the first time and started to lay out a pcb this first one is going to be pretty simple I'll upload a sch file in a few mins and the rest of it will probably get put on the git hub

  • publishing problems

    Rob07/24/2016 at 20:39 0 comments

    having to publish to 2 systems that have different limits meant reworking the publish script a bit but also allowed me to remove a few hundred milliseconds of delay out of the publishing loop so its down to only 3 100ms delays this should help with all of the timing in general I may reworks this to eliminate all of the delays completely really shouldn't be to hard to add a few more stops in the 2 minute loop I am trying keep the overall bandwidth down to a minimum I may have to make a server side client to to keep track of the published info so that the status page and loads stats instantly on load rather than wait for the device to publish them

    maybe webhooks or something can solve this time to learn some more

  • further grief with analog

    Rob07/23/2016 at 04:05 1 comment

    well I have everything back online in its new enclosure

    this should give me more accurate temp and humidity readings also should avoid the temp spikes that the relays caused

    this image is of it next to the 24 Ah battery that I use for back up this maybe slight over kill but I had it kicking around

    I removed the external antenna as it was not needed and it is one less hole I have to drill in the box the previous case had minor traces of water in it I suspect the antenna connector for that which is why I tried to go with out for now

    the analog problem is that I may have inadvertantly burnt the A3 input and relocted this sensor to another pin but I failed to double check the pin out and the pin I attached to is not analog compatable so I may rearange things or re test the A3 pin soon for now that zone doesn't need to have water levels adjusted much anyways

  • soil reading take 2

    Rob07/22/2016 at 05:33 0 comments

    tonight I am fixing the soil moisture inputs

    putting voltage dividers on the out put f the soil moisture sensors

    to protect the analog pins on the photon

    and tomorrow it will be re installed in a new encousure

View all 5 project logs

Enjoy this project?



icanhazadd wrote 07/26/2016 at 15:56 point

Where did you get your valves from? Did you print them?

  Are you sure? yes | no

Rob wrote 07/26/2016 at 22:31 point

aliexpress they were around $4

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates