Light detection using LDR digital module

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 will be interfacing an LDR (Light Dependent Resistor) module to the EzloPi device. The LDR module senses the changes in ambient light levels based on the surrounding lighting conditions. By interfacing an LDR module with the EzloPi, we can incorporate light sensing capabilities into IoT projects. This allows for intelligent automation and control based on the detected levels of light.

2. Project Video Demonstration

Welcome to the project demonstration video section. The following video showcases the key aspects of LDR digital module, providing a visual walkthrough of its implementation.

3. Circuit Setup & Interfacing

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

  • ESP32 as EzloPi smart device.
  • Digital LDR sensor (KY-018).

The wiring diagram is represented as follows:

EzloPi LDR Digital Module Wiring Diagram
EzloPi LDR Digital Module BreadBoard

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

From ESP32 to LDR Module (KY-018):

  • Connect Vin to the +5V on the LDR module.
  • Connect GND to GND Pin.
  • Connect D4 from the ESP to the D0 Pin on the LDR module.

4. Interfacing the LDR sensor module using EzloPi Web Flasher

  1. Set up your device/hardware by visiting
Interfacing LED Web Flasher
  1. Log in using the credentials which you just set earlier while signing up.
Login Dashboard
  1. Now click on Connect Device and a pop-up window will appear
Connect Device Button
  1. Now, select COM Port to which your ESP32 device is connected. In our case, the COM3 port is used.

    Click Connect.

Configuration Selection
  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 Digital input.
  1. A digital input window will open for inputting the following parameters which we will enter in a moment.
  • Set a device name of your choosing. In our case we set it to LDR.
  • Set INPUT GPIO to 4.
  • Device subtype LDR Digital Sensor
  • Set Resistor to PULL DOWN.
  • Set the default value to low
  • Then Click 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. After some time this popup will appear saying Device Flashed Successfully! This means that your device has been set up successfully.
  1. A window will appear on the bottom left side of the screen displaying “Please press BOOT button while flashing begins.”
  2. Hold the BOOT button down until the next window appears on the bottom left 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 this 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.
MiOS App Mobile
  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 dashboard, you will be able to see the tile of your connected device.
  2. Here in this example, it is displaying the LDR tile. When LDR is exposed to light , the LDR tile will be in ON state and in the darkness or poor lighting conditions, it will be in OFF state.

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. The MiOS dashboard is displayed showing the LDR tile. As the bulb is turned off, it indicates that the LDR is not detecting any light.
  1. Similarly, The bulb is turned on which indicates that the LDR has detected the light.
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