Control DC Fan using Relay

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

This project aims to create a fan control system that allows you to control a 12V DC fan using the EzloPi device. By interfacing the fan with a relay module and providing it with an external power supply, this project will enable users with remote and automated control of the fan for various applications, including cooling, ventilation, or climate control. The fan can be controlled easily after being interfaced to the EzloPi device with the help of the MiOS application.

2. Project Video Demonstration

Welcome to the project demonstration video section. The following video showcases the key aspects of Control DC Fan using Relay, providing a visual walkthrough of its implementation.

3. Circuit Setup & Interfacing

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

From ESP32 (30 pins) to the voltage sensor:

  • ESP32 as an EzloPi smart device.
  • Single channel relay module.
  • 12V DC fan.

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):

  • Connect the GND from the ESP32 to the GND pin of the relay module.
  • Connect the 3V3 pin from the ESP32 to the positive (+) terminal of the relay module.
  • Connect the D5 pin from the ESP32 to the Signal (S) pin of the relay module.

From the Relay Module:

  • Connect the NO pin from the relay module to the - ve pin of the DC Fan.
  • Connect the common pin of the relay module to the -ve of DC power supply.

From the DC supply to DC Fan:

  • Connect the + ve pin directly to the +ve terminal of the DC fan.

4. Interfacing the Fan control using relay module with EzloPi Web Flasher:

1. Set up your device/hardware by visiting

  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 Digital Output.
  1. A Digital Output window will open for inputting the following parameters:
  • Set a device name of your choosing. In our case, we set it to DC FAN.
  • Set Device Subtype to Relay,
  • Set the ADC OUT GPIO to 5.
  • Set the Resistor to PULL UP or PULL DOWN.
  • 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.

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.
  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 app dashboard, you will be able to see the tile of your connected device.
  2. When we touch on the Fan on/off tile, we can turn the DC fan on or off with the help of the relay module. Also the tile will be updated with the current status of the fan  as on/ or off.

6. MiOS Web Application

  1. After configuring the controller with the EzloPi web flasher, head to
  1. Use the same credentials to log in that you used for configuring the controller with the web flasher.
  1. On the MiOS web dashboard, the tile is displayed for our fan control using a relay project. When we press or touch the button, the fan will turn ON. Also the tile will be updated and will be shown as ON.
  1. Similarly, when we touch on the tile again, the fan will turn OFF. Also the tile will be updated and will be shown as OFF.
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