Project Demetra

A smart automated balcony plants watering system

Similar projects worth following
A smart automated balcony plants watering system, based on Arduino Uno and Raspberry Pi 3.
The moisture sensors reads the humidity status of the plant and send it to the Raspberry Pi runnin a NodeJs server with socket technology. The client will be a Ionic 2 app used to read data and send command from/to the Raspberry Pi. A water pump will provide water when needed.


So if you have gone trough reading all the projects log and you wanna collaborate, or build a DEMETRA SYSTEM by your own you can find the server side and the client side app on GitHub.


Pay attention that if you decide to run it you have to manage to install a NODEJS server on your RPI than you can clone the server side code and manage to install all the dependencies by running

npm install
and now you should good to go with the server parts.


For the client app you have two choices basically

First is to download the latest .apk for you Android only wich is the latest build relased full compatible with the server, or you can go and build your own.

  • Water Solenoid Valves

    Fabio06/01/2017 at 09:56 0 comments

    Finally my couple of solenoid valves are arrived, so now I'll be able to control the water flow and routing water to the desired pot, so I started to make all the connections.

    I decided to use the same power source that feed the pump as those valves operates at 12V and drains about 300mA. so basicalli I splitted in three the ground and the positive on the power supply and connected in the proper way on the ralay module.

    Actually on this parts there isn't much to say, I've just wired up the valves and configured the Arduino pins. All the crucial parts are in the server and in the client code were all the working logics are.

    I connected all the water tubes based on my pots position. and those are the reults.

    And then I provided all the water to the pots:

    This is the final displacement of the system, so as you can see is quite discrete

    At this point I'm not going to dive much in the programming parts, I'll link in the description the GitHut repo with all the codes, Server and Client side...of course this is a nightly release for all the people that wants to give it a try and maybe improve it

    So as I mentioned before I'll now link the GitHub repo if you wants to give a try, your App (Android/IOS) will look like this at this stage:

    The app as I said is very essential and basic, but I works good and do his job nicely, the slider will set how many second the water will flow, by sliding on the right the plant avatar you will have a check box in order to choose if deliver water to that pot, as you can see in the screenshots above we will water only the pepper pots. Pressing the long green button will start the watering process. As soon as I can I will post here a video showing the Demetra in action.

    See ya guys!

  • Routing the water

    Fabio05/30/2017 at 06:45 0 comments

    Here we are with another project log, so, after run some test with my working water pump and some minor tuning on the APP I start to looking for a couple of nice and reliable water solenoids in order to control where the water is flowing. In this way I can virtually manage all the pots I need to water, at the moment to keep the costs low I got my hands on a couple of 12v Water Solenoid valves.

    As I am located in Italy I couldn't find the exact model I bought and I don't know in wich country they are available and in wich country they aren't , but, any kind and variant of those

    will do the work.

    Then I needed to double the size of my two channel relay, so I bought one with 4 channel, something like this one:

    They should arrive tomorrow, so in the meantime I started to drawn a simple fritzing schema of the wiring:

    I know it's a bit messy, but it's just to give a rough idea on how the connections and the wiring should be made. If anyone has got any questions just ask ;)

    See you on the next LOG!

  • The Pump Test

    Fabio05/29/2017 at 07:12 0 comments

    So, after I've gathered all the components I needed for a basic test I managed to start the pump and do some test in order to check if the Andoid Application and the nodejs server was communicating good, so the app at the moment can only manage how many seconds the pump will stay on and a simple button to make start the water flow. Here the result:

    Next steps will be to add a couple of water solenoid valve and programming the server and the app to manage more than one plant.

  • The ancient human dream..

    Fabio05/26/2017 at 21:03 0 comments

    So after a long silence I have some progress in my pocket, I manage to get my hands on a water pump that came from a wreck car from the local car dump for 5 €, this pump is a normal water pump used for sparying water to the windshield of a car, it runs approximately at 12v and drains more or less 5A.

    Now my second step was to get me a power supply that knows how to do the job, so, after a bit of online research I menaged to buy one of these:

    GALYGG AC 110V-220V to DC 12V 5A(60W) Universal Regulated Switching Power Supply Transformer.

    and of course one of those:

    4-Channel Relay Module.

    At the end, last but not least, I bought a super, wonderful, poweful..... a simple 6mm plastic pipe (3/16"") I have the power..

    I'm am ready to light this up.. but..before, in order to run a properly test I need to:

    1. Get a fresh Raspbian image for my Rpi3 running a nodejs server
    2. An Arduino board
    3. An 16x2 LCD screen
    4. An Android application to control it, made in Ionic2, communiticating to the nodejs server via

    so..... ready..set!

    An the relative water source:

    In the next log I'll put the connection details and the code needed to begin the the ancient human dream... how to automatic water my plants!

  • 18/04/2017 - Workflow schema

    Fabio04/18/2017 at 10:21 0 comments

    Added a logic schema of the project.

View all 5 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