Soil moisture sensor with Servo motor

The EzloPi smart devices provide automation through simple, customizable use with our open-source EzloPi platform, making daily life easier and improving human-machine interactions.

Before moving into this example, it is very important to know about the device registration, provisioning and converting the ESP32 device into an EzloPi device along with knowledge of Web Flasher, MiOS Mobile Application for Android/iOS and the MiOS Web Application.

1. About this example

In this example, we have designed a soil monitoring system by utilizing the soil moisture sensor and servo motor. It is a convenient project aimed at helping gardeners, hobbyists and farmers to monitor and maintain optimal soil conditions for plant growth. We will be using the soil moisture sensor to measure the moisture levels in combination with a servo motor to open a valve for water inlet.

This project leverages the capabilities of the EzloPi device, to collect and display data from the various sensors used. Users will also receive notifications or alerts through the EzloPi device when critical conditions or thresholds are met.

2. Circuit Setup & Interfacing

The following components are required for interfacing with the EzloPi device:

  • ESP32 as an EzloPi smart device.
  • FC-28 Soil moisture sensor.
  • MG996R Servo Motor with analog to digital interface module.

The wiring diagram of ESP32 30 pin is represented as follows:

The following connections are made in order to complete the entire circuit setup.

From ESP32 (30 pins) to the Soil Moisture Sensor Module:

  • Connect the 3V3 pin from ESP32 to the VCC terminal of both the moisture sensor modules.
  • Connect GND from ESP32 to the GND pins of both the moisture sensor modules.
  • Connect the D33 from the ESP to the signal (A0) pin of one soil moisture sensor and D32 of  ESP32 to the second soil moisture sensor.

From ESP32 (30 pins) to the Servo motor:

  • Connect the GND from the ESP32 to the GND (black) pin of the MG996R Servo.
  • Connect the Vin pin from the ESP32 to the 5V pin (Red) of MG996R Servo
  • Connect the D5 pin from the ESP32 to the Yellow pin on the MG996R Servo.

3. Interfacing the Soil moisture sensor with servo motor using EzloPi Web Flasher

1. Set up your device/hardware by visiting config.ezlopi.com

  1. Log in using the credentials which you just set earlier while signing up.
  1. Now, click on the Connect Device button and a pop-up window will appear.
  1. Now, select COM Port to which your ESP32 device is connected. In our case, the COM3 port is used.

Click Connect.

  1. If you are new to this and it's your first time configuring, select Create new Device ID. Enter Wifi SSID and Wifi Password.

Interfacing the Soil moisture sensor with EzloPi Web Flasher:

  1. In the Device Configuration, tab click on Analog Input.
  1. An Analog Input window will open for inputting the following parameters:
  • Set a device name of your choosing. In our case we set it to Soil Moisture Sensor.
  • Set device Subtype to Soil Moisture Sensor.
  • Set the ADC input pin to 33.
  • Set the Resolution to 10-bit.
  • Now Click the Apply button.
  • After clicking the apply button you can see a table of your setting in the device configuration tab.
  • Press the Flash Device button.

Interfacing the second Soil moisture sensor with EzloPi Web Flasher:

  1. In the Device Configuration, tab click on PWM.
  1. An Analog Input window will open for inputting the following parameters:
  • A PWM window will open for inputting the following parameters:
  • Set a Device Name of your choosing. In our case, we set it to servo.
  • Set Device Subtype to MG996R Servo.
  • Set the ADC PWM_GPIO to 5.
  • Set the Resolution to 8-bit.
  • Now Click the Apply button.
  • After clicking the apply button you can see a table of your setting in the device configuration tab.
  • Press the Flash Device button.
  1. A window will appear on the bottom right side of the screen displaying “Please press BOOT button while flashing begins.”
  1. Hold the BOOT button down until the next window appears on the bottom right side of the screen which says “Installation prepared. Please release the boot button now.”
  1. Release the BOOT button from your ESP32 when this pop-up on the bottom right window appears.
  1. After some time, a popup will appear saying Device Flashed Successfully! This means that your device has been set up successfully.

4. MiOS App

You can download the MIOS Android app from the Google Play Store and Apple App Store.

  1. After some time, a popup will appear saying Device Flashed Successfully! ! This means that your device has been set up successfully.

4. MiOS App

You can download the MIOS Android app from the Google Play Store and Apple App Store.

Google PlayApple App Store

  1. After downloading the app, proceed to install the application and open it.
  1. Using the MIOS mobile application, create a new Ezlo Cloud account using the sign-up option. If you already have an account, you may proceed to log in.
  1. After successfully logging in, you will be able to see the number of controllers connected such as a lamp, fan, or any other device in the MiOS app. Tap on any controller of your desired ID:
  1. You will be able to see the status of your controller whether it is online or offline. Access the device dashboard, and tap the device. The following view of the dashboard will appear:
  1. After opening the MiOS mobile dashboard, you will be able to see the tile of your connected device. As in this case, we can see tiles labeled as “Soil Moisture Sensor” and “Servo".
  2. After opening the MiOS mobile dashboard, you will be able to see the tile of your connected device. As in this case, we can see tiles labeled as “Soil Moisture Sensor” and “Servo".
  1. Similarly, we can also turn off the servo motor by also using the MiOS web app.

5. MiOS Web Application

  1. After configuring the controller with the EzloPi web flasher, head to ezlogic.mios.com
  1. Use the same credentials to log in that you used for configuring the controller with the web flasher.
  1. After opening the MiOS web dashboard, you will be able to see the tile of your connected device. As in this case, we can see tiles labeled as “Soil Moisture Sensor” and “Servo".
  2. We are monitoring the soil moisture. As the moisture content in the soil decreases, we can manually switch on the servo motor just like a water pump or like a water valve to provide the required amount of water to the soil.
  1. Similarly, we can also turn off the servo motor by also using the MiOS web app.
Buy Components

eZlopie Products A single-channel 5V relay module $00.00

eZlopie Products Momentary switch $00.00

eZlopie Products Level Shifter Module (BSS138) $00.00

eZlopie Products ESP32
$00.00

eZlopie Products AC Lamp and Holder
$00.00