Sony Arouje

a programmer's log

Hydroponics system controlled by Raspberry Pi an overview

with 19 comments

Last couple of weeks I was spending my free time to understand and building a Hydroponic system to grow vegetables in my Apartment’s Balcony. I just don’t want to build a normal system that controlled by a timer, instead I want to build a system that I should be able to monitor even I am not at home, change watering schedule using my mobile device.

Before we jump into details, let me give you a brief about Hydroponic.

What is Hydroponics?

In simple terms, hydroponic is a system where you can grow vegetables without soil, mix the required nutrients in water and feed directly to plants. Advantage of this system is, we are feeding plants what they want, instead plant hunting for the nutrients from soil. Also less consumption of water as we reuse the water.

If you search in google you will get more details of Hydroponics. I am working on a subset of Hydroponic called Aeroponics, where plants grow vertically. I made the vertical growing tower based on the method described by Gunnar Shaffer.

Any Hydroponic system needs water circulation using a water pump, I used a submersible pump bought from Ebay for 225.00 INR. This pump should pump water in a periodical manner, say water for 15 mins then sleep for 60 mins and the cycle continues. We can use a timer to do that, it will cost from 1500 – 2500 INR. I decided to use one of the Raspberry pi lying in my table.

Why Raspberry pi?

As a programmer, this small brilliant device give me the flexibility of controlling the system with the programming language of my choice. For this system I used Node js platform to build the controller system. I spent a night to build the basic system that can turn on/off any device in a specific interval and some REST api’s through which mobile device can interact. Later I spent several nights to polish and enhancing my system.

For my testing I used a breadboard to turn off/on one LED. After I successfully controlled the LED, it’s the time to control the Electrical motor. I bought a 12v single channel Relay from ebay for 99.00 INR. It can control one electrical device, in my case the submersible water pump. This post will give you an idea about how to connect the Relay to your Raspberry pi.

Mobile Application

After I completed the system running in Raspberry pi, I decided to write the application for the mobile device. Through which I can interact with the system. As of now the application can

  • Turn off the pump, in case of maintenance.
  • Schedule watering interval.
  • Turn on motor to water immediately.

The mobile application is written using Cordova platform, so that app can run on my Windows or Android devices.

What Next?

  • The basic infrastructure is done, next important step is start growing veggies. It got delayed because I am waiting for two meters to measure the water content. The pH and TDS meter.
  • Suggestion system for nutrient quantity based on the previous data.
  • Distributed cluster of Pi based Aeroponics blocks controlled by a server.
  • Connect Water level monitor to Rasp pi and notify if water level of the tank goes down.

Update: see my hydroponic in action.

Thanks to

  • My wife, for her support and encouragement, for all the crazy stuffs that I am experimenting with.
  • My father who guides and clarifies all my question related to Electrical devices and suggestions to improve the system for better performance.
  • Gardenguru for providing me with key information like measuring and controlling ph and EC level. I also bought the necessary items from them like Net Cups, Hydrotons, Nutrients, etc. They have a shop near to my home, I go there and spent time talking with them. They are very enthusiastic and provide with any info about Hydroponic to a newbie like me.


download Scan using your mobile phone and access it from your phone.

Written by Sony Arouje

November 10, 2014 at 1:21 pm

Posted in Raspberry Pi

Tagged with ,

19 Responses

Subscribe to comments with RSS.

  1. […] couple of weeks I was building a Hydroponic system controlled by Raspberry pi. As of yesterday night my system was based on a single Raspberry pi that control one or more water […]

  2. thanks for the advice for the Hydroponic Application and very nice blog.


    December 17, 2014 at 11:27 am

    • Thanks Hydroponic Express, I am just a newbie in Hydroponics.


      Sony Arouje

      December 17, 2014 at 11:58 am

  3. […] one of my previous post I explained about how I used Rasberry pi to control the motor. If you haven’t read it, please […]

  4. […] client will switch on/off the motor via a relay. Also I don’t need to setup a wifi network in my controller […]

  5. Can I see the code.


    January 29, 2015 at 2:12 am

  6. that’s some pretty awesome stuff, I mean we use timers of course but this takes growing ease to a whole new level, nice work!


    April 5, 2015 at 11:32 pm

  7. where did you buy your tds meter for the raspberry.. thanks for your info and post ppl like you inspire us all


    June 30, 2015 at 10:49 pm

  8. and that link helped cant wait till I have something similar to you 🙂

    matt smith

    July 3, 2015 at 6:50 pm

  9. Thank you you’re awesome thanks for helping me out.. have another question for you since you no a lot and im a total newb. when I finally get my RPi when I connect a sensor: like a humidity, temperature, PH,TDS etc. does the RPi know what it is or do I have to tell it what sensor I am connecting.. and been googling how set perimeter like to turn on and off a relay at certain thing like temp ph humidity

    matt smith

    July 4, 2015 at 1:39 am

    • Hi Matt,
      RPi will not know what you are connecting to it. Most of the sensors will talk via serial port. So you need to find out how to connect your sensors and to what kind of pins, Digital or Serial.


      Sony Arouje

      July 6, 2015 at 3:49 pm

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: