Introduction: Connected Greenhouse

Hey there !

Today we are going to show you how to make your own connected greenhouse !

What’s a grennhouse? Well it’s a small cubicle in which one can control the environment, thus creating the ideal setting to grow a plant.

How is it connected? Well, as you probably have already guessed, it’s not just a grennhouse, it has a few extra perks! Indeed, it is automated, so it takes care of your plant for you. It’ll cool it if it gets too warm, water it when needed and give it light when there is none.

Plus, you’ll be able to monitor the environment on the internet, follow the progress and receive updates via text-messages.

So get ready and and follow these simple steps, and you can make your own connected greenhouse.

Step 1: Materials

First off, you will need:

-A small house like structure, with transparent walls, so you can see what’s going on and your plant can receive all the natural light it can.

-A NodeMCU board ( It has an ESP8629 WiFi module on board)

-A real time clock (RTC)

-A DHT22 (it’s a temperature and humidity sensor)

-A soil moisture sensor

-A light sensor

-A LCD display

-3 x 5V relays

-One 220V/15V transformer

-One 15V/5V transformer

-One 5V regulator

-A 2+ channel multiplexer

-A fan

-A lamp

-A water pump

-A small water tank

-A switch

Step 2: Hardware Part

First off, this project will be broken down into two parts: hardware and software. Here we shall start with the hardware.

Firstly, install the switch on the side of the greenhouse. Then, wire it to the lamp you shall hang from the roof. Place the fan in a manner where one side is outside and the other inside. The fan should be extracting air from the greenhouse, meaning it should blow towards the outside. Wire it to one of the 5V relays.
Wire the other components using the schematic provided, but without connecting the node MCU, you need to work on it first!

The goal is to power the actuators (lamp, pump and ventilator) through the relays in order to be able to turn them on digitally.

To be clear, the lamp should be powered with 220V while the ventilator and the pump will need 12V to work.

Relays are important, they will act as digital switch, activating only once they receive 5V on their sinal input pin.

Finally, the NodeMCU needs to be powered with 5V through a USB cable connected to the 5V regulator.

Step 3: Sensors and Control

Sensors :

The Arduino community is very rich of code examples for many electrical components. So, the first think to do is to check if some library exists in the Arduino website for your component.

1. Temperature and Humidity sensor (DHT22)

This sensor will give us the air humidity and the temperature in the greenhouse.

To learn how to use/program it check :

2. Moisture sensor

This one will give us the moisture of the soil.

To learn how to use/program it check :

3. Light sensor

Finally this one will provide us the luminosity in the greenhouse.

To learn how to use/program it check :

Control :

1. Time tracking
To grow your plant it is essential to keep track of time. To this end we use a RTC (Real Time Clock). Thanks to this we can make sure the plant will have its required amount of light each day.

To learn how to use/program it check :

2. LCD display

Installing this display will help you check the status of your plant directly.

To learn how to use/program it check :

Step 4: Wireless Connection

The NodeMCU has an embedded ESP8266 module which allows for an easy Wi-Fi connection. All you will have to do is give it your Wi-Fi network's name and password and it will be able to send out the information we need.

We are going to send them through HTTP requests containing the values coming from the different sensors.

Those will be then displayed on graphs on your own web page, accessible with any classic web browser.

For this part we are going to rely on IBM Bluemix which is a powerful platform for IOT devices. You can create an account for free that will last a month, after that you'll have to re-create one or start paying :) .

The only tool needed for this project though is Node-Red. It's a user-friendly interface programed through simple coding bricks, compatible with a lot of different services/features (text messages, emails, twitter etc...). This is what will receive the HTTP requests sent by our NodeMCU and create graphs with all the sensor's values.

Twlilio is the service provider that will allow us to automatically send text messages updates to a cellphone of your choice. So you will also need to create an account there. Don't worry the frst virtual phone number is free and we'll only need one.

You can see an example of the resulting graphs above.

To get famliar with Bluemix/Node-Red I advise checking these :

And don't hesitate asking your assigned Bluemix advisor as they can be really helpful.

Step 5: Pick a Plant!

That's it you've got your own connected greenhouse! All you have to do now is select a plant you'd like to grow, if you're not sure what to pick you can go check :


Enter into the arduino code the required amount of light time and the humidity this plant needs (this will probably need some tweaks so don't worry if it's not perfect from the get go).

Relax and enjoy!