Control DC Load (DC Motor) with high power MOSFET driver

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, we will be interfacing a 12V DC motor as our DC load with the help of a high-power MOSFET driver module. The primary objective is to seamlessly connect this motor control system to the EzloPi device, which opens up a world of possibilities for smart and efficient automation, and also incorporate high-load driving capabilities into various IoT projects. The following project is capable of driving a DC load of up to 350 watts.

2. Circuit Setup & Interfacing

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

  • ESP32 as an EzloPi smart device.
  • XY-MOS, High-power dual MOSFET driver module.
  • DC load (12V DC motor)

The wiring diagram is represented as follows:

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

From ESP32 to the MOSFET driver module:

  • Connect GND from the ESP32 to the GND pin on the module.
  • Connect D21 from the ESP32 to the TRG pin on the module.

From External Power Source to the MOSFET driver module:

  • Connect the positive terminal of the external power source to the VIN+ pin.
  • Connect the negative terminal of the external power source to the VIN- pin.

From MOSFET driver to the DC Motor:

  • Connect the OUT+ pin to the positive terminal on the DC Load (DC Motor).
  • Connect the OUT- pin to the negative terminal on the DC Load (DC Motor).

3. Interfacing the MOSFET driver module with DC Load (DC Motor) 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 Other.

7. 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 Load (DC Motor).
  • Set Device subtype to Relay.
  • Set OUT GPIO to 4.
  • Set Resistor to PULL UP.
  • Set the default value to LOW.
  • 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.

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:
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. Here as can be seen above, we have successfully interfaced a DC motor with our EzloPi device and with the MiOS app we can turn on or off the DC motor.

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. After opening the MiOS web dashboard, you will be able to see the tile of your connected device. The DC motor can be controlled easily using the MiOS app after it is successfu;lly interfaced with the EzloPi device.
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