Introduction: IoT Based Soil Moisture Monitoring and Control System Using NodeMCU

About: We provide services in Embedded Projects, Website Development, App Development, Customised Electronic Solutions and Products

In this tutorial we are going to implement an IoT based Soil Moisture Monitoring and Control system using ESP8266 WiFi Module i.e. NodeMCU.

Components Required for this project:

Total (Amazon) – 954/- INR


Buy from Electronixity in 682/- INR

Step 1: ESP8266 WiFi Module

The development board equips the ESP-12E module containing ESP8266 chip having Tensilica Xtensa® 32-bit LX106 RISC microprocessor which operates at 80 to 160 MHz adjustable clock frequency and supports RTOS.

There’s also 128 KB RAM and 4MB of Flash memory (for program and data storage) just enough to cope with the large strings that make up web pages, JSON/XML data, and everything we throw at IoT devices nowadays.

The ESP8266 Integrates 802.11b/g/n HT40 Wifi transceiver, so it can not only connect to a WiFi network and interact with the Internet, but it can also set up a network of its own, allowing other devices to connect directly to it. This makes the ESP8266 NodeMCU even more versatile.

Step 2: Relay Module

A relay allows you to turn on or turn off a circuit using voltage and/or current much higher than what Arduino could handle.

Relay provides complete isolation between the low-voltage circuit on Arduino side and the high-voltage side controlling the load. It gets activated using 5V from Arduino, which, in turn, controls electrical appliances like fans, lights and air-conditioners.

Step 3: Soil Moisture Sensor

This is Soil Moisture Meter, Soil Humidity Sensor, Water Sensor, Soil Hygrometer for Ardunio. With this module, you can tell when your plants need watering by how moist the soil is in your pot, garden, or yard. The two probes on the sensor act as variable resistors. Use it in a home automated watering system, hook it up to IoT, or just use it to find out when your plant needs a little love. Installing this sensor and its PCB will have you on your way to growing a green thumb!

The soil moisture sensor consists of two probes which are used to measure the volumetric content of water. The two probes allow the current to pass through the soil and then it gets the resistance value to measure the moisture value. When there is more water, the soil will conduct more electricity which means that there will be less resistance. Therefore, the moisture level will be higher. Dry soil conducts electricity poorly, so when there will be less water, then the soil will conduct less electricity which means that there will be more resistance. Therefore, the moisture level will be lower.

Wiring Connection

  • VCC: 3.3V-5V
  • GND: GND
  • DO: Digital output interface(0 and 1)
  • AO: Analog output interface

Features :

  • Dual output mode, analog output more accurate
  • A fixed bolt hole for easy installation
  • With power indicator (red) and digital switching output indicator (green)
  • Having LM393 comparator chip, stable.

Step 4: Circuit Diagram

The connections of the whole project are given above.

Power the ESP8266 WiFi Module through the USB Micro.

Download The ESP8266 Library from Here.

Having trouble installing ESP8266 Board in Arduino IDE? Checkout the tutorial

Step 5: Output Video

For Full working Code ------> Alpha Electronz

Step 6: