MG996R Servo

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 example demonstrates the interfacing of the MG996R Servo motor with the EzloPi device, showcasing how we can harness the capabilities of both hardware components effectively.

In the world of electronics and robotics, the ability to precisely control mechanical components such as servo motors is paramount. Servo motors, like the MG996R, offer a wide range of applications, where accurate and controlled motion is essential. Through this example, you can understand how to connect and control the MG996R Servo Motor through the MiOS web and mobile applications, for various automation solutions and  innovative projects. The Servo motor can turn 90 degrees from either direction from its neutral position and can be used in many projects and applications such as mechanical valve control, etc.

2. Project Video Demonstration

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

3. Circuit Setup & Interfacing

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

  • ESP32 as an EzloPi smart device.
  • MG996R Servo Motor with analog to the digital interface module.

The wiring diagram of ESP32 30 pin is represented as follows:

MG996R Servo Breadboard

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

From ESP32 (30 pins) to the Servo motor:

  • Connect the GND from the ESP32 to the GND (black) pin of the MG996R Servo.
  • Connect the Vin pin from the ESP32 to the 5V pin (Red) of the MG996R Servo
  • Connect the D4 pin from the ESP32 to the Yellow pin on the MG996R Servo.

4. Interfacing the MG996R Servo using EzloPi Web Flasher

1. Set up your device/hardware by visiting

  1. Log in using thecredentials that you just set earlier while signing up.
Device Not Connected
  1. Now click on Connect Device and a pop-up window will appear
Configuration Setup
  1. Now, select the 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.
  2. In the Device Configuration, tab click on PWM.
Device Form - PWM
  1. A PWM window will open for inputting the following parameters:
  • Set a Device Name of your choosing. In our case, we set it to MG996R Servo.
  • Set Device Subtype to MG996R Servo.
  • Set the ADC PWM_GPIO to 4.
  • Set the Resolution to 8-bit.
  • 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.
  1. A window will appear on the bottom right side of the screen displaying “Please press BOOT button while flashing begins.”
Configuration Selection
  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.”
Flashing in Progress
  1. Release the BOOT button from your ESP32 when this pop-up on the bottom right window appears.
Device Flashed Successfully
  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.
Sensor 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 App
  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:
MG996R Servo ON
  1. After opening the MiOS mobile dashboard, you will be able to see the tile of your connected device. As in this case, we see the tile labeled as “MG996R Servo”.
  2. By varying the percentage of the slider from 0 to 100%, we can control the rotation of the servo motor as it can turn 90 degrees from either direction from its neutral position. When the slider is at 100%, the motor rotates 90 degrees.

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.
Dynamic Dashboard
  1. Now, you will see a tile labeled as MG996R servo on the web dashboard. By varying the percentage of the slider from 0 to 100%, we can control the rotation of the servo motor.
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