Introduction: Multipurpose Hydroponics and Soil Gardening Solution

About: I design things, I make them, I reinvent them and teach them. #DIY, #research, #IoT, #embedded, #RaspberryPi, #Arduino, #EEE

I have already published a similar instructable and this one is a reduced version of the same because it felt a little too complicated for some. Here we go...


A lot of people think about starting gardening as a hobby and some even imagine growing their own vegetables and fruits at home. However as a consequence of busy schedules, most of us will never get the time to maintain the garden the way we want. Plants need consistent care and look after to flourish and bear fruit and with the advent of technology, we may be able to setup an electronic system to take over the chore of garden maintenance.

Step 1: The Demonstration

Here is my implementation of the project and I want you to understand what you can get out of this build.

There are two common types of growing solutions that are common these days.
a. One is the standard growing in the soil gardening where we use soil mixed with organic fertiliser to grow plants. Plants are planted in the soil and we only need to add water and light. In our setup, we use large pots to grow plants in direct sunlight and watering as well as soil measurement is done via the Intel Edison.

b. The second is called a hydroponic system where instead of soil we use a different medium to grow plants and the nutrients are supplied as a part of the liquid system. In our setup, we use perlite as a growing medium and use liquid nutrients pumped in a Flood and drain system. The nutrient liquid is pumped into the tray and kept there for a time and then drain afterwards and cycled. Our project is designed to cater to both these needs and can be extended as per requirement.

Desired Features:

For this system the following features were consider desirable and were user as a system specification to design around.
1. A SMART garden watering solution for the traditional garden which is able to track the irrigation cycles and the moisture levels of the system. Since we are talking about IoT we should be able to take advantage of the facilities of the internet namely the Weather Service. The system should be SMART enough to not water the plants if the soil is already wet OR if rain is predicted in the near future. 2. A solution for indoor gardening with lighting and temperature control and monitoring. We want the ability to grow off season crops that we can plant in a small greenhouse or our own kitchen and for that we need to control additional elements of lighting and temperature inside. 3. A hydroponics system which can be monitored and controlled via a GUI. Instead of a traditional hydroponics timer, we use the advanced capabilities of the system to remotely measure and control the operation of a hydroponics system. We want the ability to set complicated rules for the control of our hydroponic growing system 4. A data logging facility to track various parameters. We need to be able to log the system data for analysis by expert should our garden begins to fail. 5. A visual data display for all measured quantities. We understand that data visualisation can help understand monitored data better hence we want the capability to see the data in a graphical way over the internet. 6. A configurable alert system for events. We want the capability to set alerts for certain events such that corrective action can be taken. If possible we would like the ability to get alerts on our Android devices. Wow! Thats a lot of desired features but thanks to the incredible power of the Intel Edison and simplicity of Node.js and openHAB, we were able to get all that done… and more.

Lets get started one by one...

Step 2: Step 1: Design Your Requirement

The above image shows my version of the project. You can remove the hydroponics part OR the soil part or leave both intact.

The hero of our system is the Intel Edison with the SeeedStudios sensors kit. A basic block diagram of the system is given below which shows the various elements of the project.

The diagram shows there are two sub setups which are explained as follows:

a. The outdoor setup. The outdoor setup consists of a soil based configuration for growing plants. We have chosen large pots with soil and fertiliser and these are placed outside in the sun. A water reservoir has a pump that can be switch on and off using the intel Edison and we also have a moisture sensor to detect the condition of the soil.

b. The Indoor setup. The indoor setup consists of a hydroponic setup with a nutrient solution tank, a flooding pump to fill the hydroponic tray, a drain pump to empty it. We also have a artificial lighting lamp with a UV light as well for indoor lighting and sensors to detect the correct operation with a light and temperature sensor. The Flood tray also as water sensors to detect incomplete filling of the tray indicating insufficient water or a defective water pump.

In addition to these, we have the Intel Edison with the SeeedStudios grove sensors which is connected to a local Intel Galileo. This Galileo hosts an existing home automation setup using OpenHAB. It is also connected to the internet via the local network and Wifi and talks directly to the Intel Analytics Cloud to log and graph data but I will exclude that part for now because its not relevant to a lot of people.

Step 3: Step A-1: Setting Up the Soil Garden

The first step is to create a small soil garden and in our setup, we used a variety of pot which ranged from large enough for growing vegetables and smaller ones for herbs.

Then we put together some soil which is free from rocks etc and which has been heat treated to get rid of any pests etc. In our setup we added 50% soil with 50% organic manure locally available and mixed it together. The pots were drilled small holes at the bottom for the water to flow out and we placed jagged rocks around the holes so that they do not get blocked by flowing dirt. The soil was then potted as a dry mixture and all the pots were set aside.

Next we purchased some quality seeds for chillies and eggplants and germinated seedlings for tomatoes. The seeds were planted 1-2cm deep while the tomato seedlings were planted deep enough to cover the entire root system. These are cover with the soil and patted down a bit and then watered heavily because the soil will need a lot of water the first time.

Step 4: Step 2-B: Setting Up the Irrigation Line

Next we positioned the pots and the herb garden next to a windows through which the pipe and cables for the sensors will come through. This is done because in our setup we also have an indoor setup which is controlled by the same Intel Edison. An irrigation pipe is brought through the entire setup and circulated. Small holes are cut in the rubber tubing such that water can flow out and into the pots etc. The pump is chosen such that it has the capability to generate the necessary pressure.

In order to sense the moisture content, we used the SeeedStudios Moisture Sensor. I used a longer wire but recalibrated everything later.

This finishes our outdoor Soil Garden Setup. Next The hydroponics garden...

Step 5: Step 3-A: Setup the Flow Tray

A hydroponics system is a soil-less growing system where the potting media used does not retail water like normal soil. There are many subtypes and these can be understood by visiting [LINK TO Hydroponics] The one we used is the Ebb n flow hydroponics where the plants are placed in a tray and the water with the nutrient mixture is pumped to flood the tray for some time. Then this tray is drained and the mixture is returned to the reservoir. This saves water as well avoids the drawbacks of the typical soil garden.

In our setup, we used perlite as a medium which was purchased off ebay. This perlite is washed with water and chlorine and the granules are dried.

We used plastic cups and cut multiple slots(Smaller than the perlite granules to allow outflow and inflow of water. You may also use netted materials as well to retain the perlite if the small slots do not work right for you. Two such glasses were sandwiched together to form a barrier to retain the perlite. Pebbles were placed at the bottom to allow the containers to be weighed down and not float up as the nutrient solution is pumped.

These are then filled with perlite and a group of six such vessels were arranged in a plastic tub. We fitted the tub with water tight glands to allow connecting the water pipes. You can choose to use smaller or larger glands to suite your needs.

Step 6: Step 3-B: Prepare the Flood Trays.

We use a plastic tray to act as the flood tray and we fitted it with a gland for the drain connection at the bottom and one gland near the top to act like an overflow should the sensor ever fail. Scotch tape was used to hold the planers in place because the flooding water will make them float up. Water should slowly creep up into the perlite as well as drain out easily.

We were able to fit six planters in one tray. Two buckets are used as reservoirs to hold the water for the Soil Irrigation system as well as the nutrient mix for the Hydroponics system. Two submerged pumps are deployed as shown.

All these elements are setup on a table inside our room which will act like a greenhouse. We used a SeeedStudios Pump to drain the hydroponics system and its simply setup to pump the water back into the reservoir. For decor we employed some hand made chart and cardboard box backs. Paint and coloured tape was used to make things beautiful.

The level sensor for the Hydroponics tray was strapped in place using scotch tape and we made sure the sensor face did not touch the wall. If it does, it may retain moisture and give a false sensor output even when the tray is empty.

This readies our Hydroponics hardware.

Step 7: Step 4: Connecting Everything

We need to control the pumps and lights so we need some relays. We used some Grove Relays as well as some DIY relay boards. Wire em up to turn on the Lights, motors and what not. I am leaving the electrical diagram out because if you do not know how to use a relay, you should refer the manual from the manufacturer. Mains are dangerous.

At this point you can choose to add as many sensors as you want as well. We added some light, temperature and humidity sensors. The enclosure was simple acrylic sheets cut up and superglued together.

Step 8: Step 5: the Software

The software part is pretty easy.

The Intel Edison can be programmed via a multitude of ways including Arduino IDE, Python and Node.js. Intel XDK for Node.js can be downloaded from Intel’s website and the links are given below.
Setup guides for the Edison: Setup guide for the Intel Iot Cloud: Intel XDK Downloads: Static IPs on Edison:

The program is written to be a service that will send and receive data via MQTT to a local MQTT Broker service. The Edison periodically sends data to the Intel IoT Analytics service as well for logging.

A guide to setting up OpenHAB is given on my blog at:
[LINK TO OPENHAB GETTING STARTED] These instructions may change with time hence are located externally. Here is the link to the OpenHAB wiki where a lot of use cases have been already explained. Configuring rules on OpenHAB is quite easy and works in a scripting language similar to javascript. Our openhab configuration is attached at the end. Simple copy these files to their respective directories and you are good to go.

An MQTT broker runs on the Edison itself at port 1883 so no need to sweat. We just need to connect our openhab to it so we need it’s IP. Here is an example of a simple switch with MQTT.

The Git Repository is available at

Just download the code and use Intel's XDK to compile and upload the code.

You are done!

Step 9: Conclusion and Final Remarks

I wanted to shrink the whole instructable to a digestable level because my design was a lot bigger than intended. I hope I was able to clarify my idea and if you implement it, give me a shout out.

Thanks again,

Indoor Gardening Contest 2015

Participated in the
Indoor Gardening Contest 2015