Introduction: Greenlife

Hello there

If you have any problems keeping your plants healty, this is the perfect instructable!!
I made an instructable for my Project Greenlife. Greenlife makes it easy to monitor any indoor plant and integrates a temperature, moisture and lux sensor.

If your plant doesn't have enough water, a peristaltic pump automatically waters your favorite beauty!

This is how you make your own monitoring project:

Step 1: Circuit

First things first

To start this project, you need to make a circuit that uses 3 sensors to collect data from the environment:

1) One wire Temperature sensor - This sensor needs to be connected to GPIO pin 4!
2) LDR Light sensor - Uses MCP3008
3) Moisture sensor - Uses MCP3008

Also integrate a pump to automatically water your plant, I used an peristaltic pump that needs 6V to start pumping. This pump needed a relay to give my GPIO pin enough power. An additional 6V adapter is required.

My LCD display is connected to the PCF8574, which is a I²C bus with integrated shiftregister to spare a lot of GPIO pins!

I used THREADING to check the moistue and automatically start the pump to give my plant the water it needs

Step 2: Database

You will need an SQL database that stores all data. In the image above you can see how i build my database.

Make sure you have a table for plants and sensors, so you can link one another.

The login system i made uses a extra table 'Users' which stores Username, Email and Password of the user which verifies the credentials.

The table 'sensor' saves each sensor's value plus a timestamp of insertion. This is usefull to select the last added value in the table which can be used on the website!

Step 3: Website

To build my website, i did the following:

Create a flask responsive webiste that displays the values from the sensors, I also made sure you could add plants and delete plants.

To realise this, I used Flask, javascript and my database which runs on my raspberry pi.

To add a plant:

Make a form that asks the user for the desired sunlightneeds and waterneeds of the plant!
Every plant needs diferent sun and water, to distinct these needs i used this simple method:


1) Happiest in direct sunlight
2) Happy in both light and shade
3) Happiest in shade


1) A good drinker
2) A moderate drinker
3) A slow drinker

Step 4: On Startup?

If you created your circuit, database and website, it's time to automatically run these on startup of your raspberry pi!

This is done by creating services on your raspberry pi, these services need to start if you boot your raspberry pi. Check the status by using:

sudo systemctl status <your service>

Step 5: Final Project

If all this is created and working, you have an monitoring app for every plant you own!