Arduino Nano ESP32 and Soil Moisture sensor (Replace Arduino with ESP-based board)
Monitor your plants from anywhere with EzloPi!
Top Projects

Arduino Nano ESP32 and Soil Moisture sensor (Replace Arduino with ESP-based board)

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 project demonstration, we will show you how to convert an existing project into a smart project using the ESP32 development board. The ESP-based EzloPi device provides the capabilities to convert your hardware (projects or devices/sensors) into IoT capable devices.

This following user guide will take you through the steps to make existing Arduino projects into smart projects using ESP MCU based boards. We can get an understanding for this easy process of converting existing or new projects into smart EzloPi projects.v

Arduino Nano ESP32 combines the form factor and ease of use of the Arduino Nano with the processing power and wireless capabilities of the ESP32. This combination allows you to create projects that take advantage of the Arduino ecosystem and libraries while also incorporating Wi-Fi and Bluetooth connectivity for various IoT applications.

We have demonstrated the Arduino Nano ESP32 as our EzloPi device by interfacing the FC-28 Soil Moisture Sensor. This project will enable users to remotely monitor the moisture levels in their garden, houseplants, or agricultural fields and receive real-time data on their smartphones or other connected devices via the MiOS application.

2. Project Video Demonstration

Welcome to the project demonstration video section. The following video showcases the key aspects of Arduino Nano ESP32 and Soil Moisture sensor (Replace Arduino with ESP-based board), providing a visual walkthrough of its implementation.

3. Circuit Setup & Interfacing

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

  • Arduino Nano ESP32 as EzloPi smart device.
  • FC-28 Soil Moisture Sensor Module.

The wiring diagram is represented as follows:

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

From ESP32 to the Soil Moisture Sensor Module:

  • Connect the 3V3 pin from ESP32 to the VCC terminal on the module.
  • Connect the GND pin from the ESP32 to the GND pin on the module.
  • Connect the GPIO38 from the ESP32 to the signal (A0) pin on the module.

From the Interface Module to the FC-28:

  • Connect the (+) from Soil Moisture Sensor Module to one side of FC-28.
  • Connect the (-) from Soil Moisture Sensor Module to the other side of FC-28.

4. Interfacing the FC-28 Soil Moisture sensor using the EzloPi Web Flasher

  1. Set up your device/hardware by visiting
Dimmable LED
  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.
  2. In the Device Configuration, tab click on Analog Input.

7. 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 38.
  • 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.

8. A window will appear on the bottom right side of the screen displaying “Please press BOOT button while flashing begins.”

9. 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.

5. 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.
MiOS Installed App
  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.
MiOS Login
  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:
Controllers Connected
  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.
  2. As you can see the soil moisture sensor tile shows the moisture level as 100% of the soil sample on which the sensor was used.

6. MiOS Web Application

  1. After configuring the controller with the EzloPi web flasher, head to
Login To MiOS
  1. Use the same credentials to log in that you used for configuring the controller with the web flasher.
  1. In the MiOS web dashboard, you can see the tile labeled as soil moisture sensor. At this instance, the sensor is showing a moisture level of 33% of the soil sample.
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

eZlopie Products AC Lamp and Holder