LED ON/OFF with Push Button

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, the EzloPi smart device is interfaced with an LED and is used to control the LED’s on/off state using a push button. In addition to the push button feature, the MiOS mobile application and MiOS web dashboard combine to give both physical and remote control capabilities.

2. Project Video Demonstration

Welcome to the project demonstration video section. The following video showcases the key aspects of LED ON/OFF with Push Button, providing a visual walkthrough of its implementation.

Play Video

3. Circuit Setup & Interfacing

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

  • ESP32 as EzloPi smart device.
  • LED Light with a current-limiting resistor.
  • Push the button with a pull-up resistor.

The wiring diagram is represented as follows:

on/off switch wiring diagram
ESP32 button box - breadboard

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

From ESP32 to the LED:

  • Connect the shorter leg (cathode) of the LED to the GND Pin of the ESP32.
  • Connect the longer leg (anode) of the LED via a current limiting resistor as shown in the diagram above to the IO4 pin of the ESP32.

From Push Button to ESP32:

  • Connect one end of the push button pin via a pull-down resistor to the IO5 of the ESP32 as shown in the above-depicted diagram.
  • Connect the other pin of the push button to the GND Pin on the ESP32.

4. Interfacing the LED with the Web Flasher

  1. Set up your device/hardware by visiting https://config.ezlopi.com/
Interfacing LED Web Flasher

2. Log in by using the credentials to your MiOS account.

Login Dashboard

3. Now click on Connect Device and a pop-up window will appear

Connect Device Button

4. Now, select COM Port to which your ESP32 device is connected. In our case, the COM3 port is used.

Click Connect

Device Status
  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.
Push Button ESP32 - Configuration
  1. In the Device Configuration, tab click on digital output.
boot button on esp32

7. 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 LED.
  • Set Out GPIO to 4.
  • Set the Resistor to PULL UP
  • Set the default value to LOW
  • Tick the Button Enable box
  • Set INP GPIO to 5
  • Set the Resistor to PULL DOWN
  • Set the default value to LOW
  • Now Click the Apply button.
  • After clicking the apply button you can see a table of your settings in the device configuration tab. Press the Flash Device button.
Ready to Flash - ESP32 on/off switch
  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.”
Flashing in Progress
  1. Release the BOOT button from your ESP32 when this pop-up on the bottom right window appears.
esp32 boot button
  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.

Here as you can see in the example given above, we can see the LED tile. When you tap on it, the LED can be switched ON or OFF and vice versa. Alternatively, you can use the button to turn the LED ON or OFF.

6. MiOS Web Application

  1. After configuring the controller with the EzloPi web flasher, head to ezlogic.mios.com
Login to MiOS
  1. Use the same credentials to log in that you used for configuring the controller with the web flasher.
Dynamic Dashboard
  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.
Bulb On
  1. The LED is turned ON by clicking on the LED button and its status has changed as shown in the above picture.
  2. In addition, the LED can also be controlled using the physical ESP32 push button part of the circuit setup to switch ON or OFF the LED.
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