Introduction: Automated Plant Watering Indicator - Arduino

I made a system for you to remember to water your indoor plants, when they run out of water or humidity.

This system will display a message with a blinking red LED alert so that you have to water your plant immediately.

When the water is sufficient, the system will display another message with a green LED, that means you can be calm, no need of watering at the moment.

To understand it more clearly, watch out my DIY video on it.

(The sponsors of the video is JLCPCB, a PCB manufacturing company, where I got my PCB design manufactured. you can find them here: . You may make a PCB board, or use a dot board or bread board depending on your preferences.)

Step 1: Things You Need

1. Arduino programming board

2. Soil moisture sensor (Hygrometer)

3. LCD display with I2C module.

4. LEDs (Red and Green)

5. Enclosure

6. Jumper wires etc.

7. Plant pot

Step 2: Connections

1. Soil moisture sensor has 4 wires:

VCC - Arduino 5V pin

GND - Arduino ground pin

D0 - Not connecting to Arduino

A0 - Analog Pin A2 of Arduino

2. LCD display + I2C module connection:

VCC - Arduino 5V pin
GND - Arduino ground pin

SDA - Analog Pin A4 of Arduino nano (if you are using some other arduino board, the pin may change. Google it in such a case).

SCL- Analog Pin A5 of Arduino nano (if you are using some other arduino board, the pin may change. Google it in such a case).

3. Red LED - digital pin 3

4. Greeen LED - digital pin 2

Don't forget to ground the LEDs and try to fix the system in an enclosure, having the moisture sensor outside.

Step 3: Setting Up & Upload the Code

- Now take your indoor plant pot near by and fix/embed the soil moisture sensor inside the plant pot soil.

You can refer my video for understanding how to do it.

- Now connect Arduino to the computer and upload the code below:

Then you are all set. I recommend you to watch the DIY video for full clarification.


Some people may have issues with the I2C + LCD display. It is because of the different versions of the I2C module.

In my case, I have used a library and set up the stuffs for I2C module. The library link is given:

Also refer the video for error fixing your I2C module:


Even some new I2C versions may not support the library. In such case, you have to first find our the related library, and fix your I2C+LCD display to working.

Then you have to modify the I2C part of my coding. that would require some skills, But can be done successfully!!!

Step 4: Demonstration

If you have followed all the above steps clearly, you will hit it successfully!

Now your plant will indicate with a red light, if it needs watering. so you can water it!

Also a green light will indicate the normal condition of plant.

LCD display also will display respective message such as "Water me please!", or "I am good!" to let you know the condition.

So your plant is now communicating with you!!!

Good Luck!!!