Autonomous watering system

This system decides how much water your plants need according to its sensors and internet weather stations and controls a pump to water them

Similar projects worth following
UPDATE: I've launched a related project: the Wise Orchard smart watering valve
If you liked this, you'll love it! See it here: and subscribe to our newsletter to stay up to date on the latest developments

This project began as a way to take care of my girlfriend's plants while we were away on vacation. It saves the plants from a certain death in the summer holidays and it also takes care of the plants for you when you're at home.

The system has a web interface that's basically a weather station, for remote monitoring and control of the watering system. It's powered by a Pi board that can read temperature and humidity sensors, as well as control the water pump that does the watering. It also has a webcam so you can see your plants!

The final goal is for a neural network to learn how to properly water the plants, taking into account factors such as rainfall, temperature, humidity... from local sensors and the internet.

The Raspberry Pi receives data from both local sensors and remote sensors (other people's nearby weather stations) over the internet.

The water pump is controlled through a GPIO pin on the Raspberry Pi (see project logs for details).

A wireless dongle lets the board connect to the internet and serve its website to users. Weather station data are publicly accesible and the watering subsystem configuration is password-protected.

I've also uploaded a video in which you can see the system in action:

  • 1 × Raspberry Pi Model A
  • 1 × Raspberry Pi Camera
  • 1 × DS18S20 Sensors / Temperature, Thermal
  • 1 × 12V supply and LM2596S board to provide 5V to the Pi Power Management ICs / Switching Regulators and Controllers
  • 1 × BC547, 5V relay, 47K resistor Discrete Semiconductors / Transistors, MOSFETs, FETs, IGBTs

View all 7 components

  • Wise Orchard smart water valve now available

    Alvaro07/28/2016 at 13:21 0 comments

    My related project, the Wise Orchard smart water valve is now shipping!

    If you liked this HAD smart watering project, you'll love Wise Orchard, see it here: and subscribe to our newsletter to stay up to date on the latest developments

  • Wise Orchard smart watering valve launched on Kickstarter

    Alvaro06/11/2015 at 17:24 0 comments

    I've launched a related project on Kickstarter: Wise Orchard. If you liked this, you'll love it!

    See here:

    It would be awesome if you could share it on your social networks too! every bit helps.

  • Progress on software

    Alvaro08/21/2014 at 00:56 0 comments

    The "weather station" is fully functional, showing temperatures from nearby weather stations gathered from (similar to, as well as links to many weather prediction sites, air quality and so on, as well as showing the weather prediction as a full text.

    The camera and guestbook are also fully functional.

    As for the watering subsystem itself, it can be triggered manually or set to water at a fixed time of the day for a specified period of time (about 20 seconds is enough). I'll post updates as I implement and train the neural network system that will decide when and how much to water the plants. The weather data (rainfall, temperatures, forecasts...) is readily available to be fed to the neural network already.

  • Sensors and camera

    Alvaro08/21/2014 at 00:47 0 comments

    The Raspberry Pi board has plenty of GPIO lines available for hooking up sensors such as DS18S20 1-wire temperature sensors:

    I might also hook up a soil moisture sensor (measuring capacitance) in the future, even though we have more then enough weather data as it is.

    The Pi camera has been a nifty addition to the system. We can now use it to monitor the plants and environment remotely!

  • Wiring it all

    Alvaro08/21/2014 at 00:42 0 comments

    I ran the wiring to get the power to the pump behind the wall so it's hidden from view. I also hid the relay circuitry and the 5V power supply (that takes 12V as input from the main power supply). 

    The relay that controls the pump is activated by the Raspberry Pi: a GPIO pin switches a BC547 NPN transistor which switches the 5V relay on.

  • A working water pump

    Alvaro08/21/2014 at 00:34 0 comments

    Initially I got an underpowered pump. It also would allow water to pass through, which would empty my water tank! But fortunately I found the right pump on eBay, and it was pretty cheap too:

    It's a diaphragm pump, theoretically it can get you 80PSI but don't count on it. It doesn't draw nearly as much power as it says either. But it's just the right size for my purposes!

  • Tubing and irrigation emitters

    Alvaro08/21/2014 at 00:30 0 comments

    I got some transparent tubes that match the pump's nozzles, as well as some

    drip irrigation emitters that I modified so they'd work at higher pressure (I simply cut the inner part that obstructs the inner nozzle).

View all 7 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

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