EzloPi Lamp Relay Momentary Switch
AC Lamp setup with relay and a momentary switch

Effortlessly control your light with the touch of a button – automation made simple!

Top Projects

AC Lamp setup with relay and a momentary switch

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

The purpose of this example is to demonstrate how you can easily interface with a momentary switch to control a lamp.

We will be using the feature-rich ESP32 module as an EzloPi device. We’ll see how we can use the EzloPi device along with related circuitry to control a number of devices and appliances, as in this case, the AC lamp connected at the output. The AC lamp can be controlled remotely via the MIOS application or by using the momentary switch.

With this example, we can get a general idea of how effortlessly we can control different devices or appliances with the simple touch of a finger.

2. Circuit Setup & Interfacing

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

  • AC lamp with lamp holder and wires to connect to AC mains.
  • EzloPi smart device (ESP32-based device).
  • A 5V single-channel relay module for controlling the circuit.
  • Level Shifter Module for converting 3.3V to 5V (BSS138)
  • A 5V voltage source for the ESP32 and the relay module.
  • A momentary switch with Pull-up resistor of value 10KOhms.

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

From ESP32 to Level shifter (BSS138):

  • Connect 3V3 to the LV.
  • Connect the GND of the ESP32 to the GND of the LV side.
  • Connect the D2 pin to the LV4 pin on the level shifter.
  • Connect VIN to HV.
  • Connect the GND of the ESP32 to the GND of the HV side.

From Level Shifter to Relay:

  • Connect HV4 to the Relay Signal Trigger.
  • Connect HV to Relay Positive.
  • Connect GND to Relay Negative.

ESP32 to Push Button:

  • Connect the D15 pin through a pull-up resistor of value 10k to the Push Button leg A.
  • Connect GND to the Push Button leg B.

From Relay to AC load:

  • Connect the Normally Open (NO) pin to the AC phase wire.
  • Connect Common COM pin to Neutral Wire.

3. Interfacing the LDR sensor module using EzloPi Web Flasher

  1. Set up your device/hardware by visiting config.ezlopi.com
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 Output.
  1. A digital output 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 Relay.
  • Set Out GPIO to 2.
  • Set Resistor to PULL UP.
  • Set the default value to low
  • Check the Button Enable option.
  • Set INP GPIO to 5.
  • 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.

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.
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.
  2. 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 as you can see in the example given below, we can see the relay tile which we suppose is connected to a lamp. When you tap on it, the lamp can be switched ON or OFF and vice versa.
  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.

5. 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. This is the filter menu that can be used to filter the desired results on the dashboard.
  2. Clicking on the right top-most corner with the profile icon, it will show the account’s information and controller ID’s along with their status.
  1. On the bottom left corner, you will see the controller ID (given by the web flasher) along with its status whether it is connected or not. It must be connected in order for the devices to be displayed on the dashboard.
  2. In the bottom right corner, the status of the controller is indicated. The green dot indicates that the controller is connected and the Red dot indicates that the controller is disconnected.
  1. In the above figure, the status of the device is indicated whether it is ON or OFF. Also, clicking on the device tile will toggle the state of the device.
  1. The bulb is turned ON by clicking on the Relay button and its status has changed as shown in the above picture.
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