MPU6050 tilt demonstration with LEDs
MPU6050 tilt demonstration with LEDs

Smart projects to make life easier

MPU6050 tilt demonstration with LEDs

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 MPU6050 tilt demonstration showcases real-time tilt detection using the MPU6050 3-axis accelerometer and gyroscope module, integrated with the EzloPi device. Three LEDs are employed to visually indicate tilt in different axes: X, Y, and Z. When the module detects a tilt beyond a predefined threshold, the corresponding LED illuminates, providing an intuitive understanding of motion and orientation. This project is ideal for learning about motion sensors, accelerometer data processing, and interactive feedback systems. It highlights the EzloPi’s capability to interface with sensors and LEDs for dynamic applications.

3. Circuit Diagram & Interface

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

  • ESP32 as an EzloPi smart device.
  • MPU6050 3-axis accelerometer and gyroscope module..
  • 3 LEDs with 120 Ohm resistors.

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

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

From ESP32 to the MPU6050:

ESP32 MPU6050
3V3 3V3
GND GND
D21 SDA
D22 SCL

From ESP32 to the LED1 & Resistor1:

ESP32 LED1 Resistor1
D12 - Terminal 1
GND Cathode -
- Anode Terminal 2

From ESP32 to the LED2 & Resistor2:

ESP32 LED2 Resistor2
D13 - Terminal 1
GND Cathode -
- Anode Terminal 2

From ESP32 to the LED3 & Resistor3:

ESP32 LED3 Resistor3
D14 - Terminal 1
GND Cathode -
- Anode Terminal 2

4. Interfacing the MPU6050 & 3 LEDs with the EzloPi Web Flasher:

1. Set up your device/hardware by visiting config.ezlopi.com

  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 I2C.
  1. An I2C Input window will be opened for inputting the following parameters:
  • Set a Device name of your choosing. In our case, we set it to MPU6050.
  • Set Device Subtype to GY61 3-Axis Accelerometer.
  • Set the Slave address to 104.
  • Set the SDA pin to 21.
  • Set the SCL pin to 22.
  • Tick mark both the boxes of Enable pullup.
  • Then Click Apply Button.
  1. 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 the LED 1.
  • Set Device Subtype to LED.
  • Set the OUT GPIO to 12.
  • Set the Resistor to PULL UP.
  • Then Click Apply Button.
  1. 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 the LED 2.
  • Set Device Subtype to LED.
  • Set the OUT GPIO to 13.
  • Set the Resistor to PULL UP.
  • Then Click Apply Button.
  1. 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 the LED 3.
  • Set Device Subtype to LED.
  • Set the OUT GPIO to 14.
  • Set the Resistor to PULL UP.
  • 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.
  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 Web Dashboard

  1. After configuring the controller with the EzloPi web flasher, head to ezlogic.mios.com
  1. Use the same credential to log in that you used for configuring the controller with the web flasher.
  1. On the MiOS web dashboard, we can see the values of X-axis, Y-axis and Z-axis and the Gyro data of X, Y and Z Axes, also the tiles of 3 LEDs.

MeshBots:

  1. On the left side of the screen under Automation, click on MeshBots.
  2. On meshbot screen, click on Create new MeshBot button present on the top right corner of the screen.
  3. After clicking on Create new MeshBot, you will see this now under Automation MeshBot click on Cloud.
  1. On the next screen you will see that we can create a name of our choosing, in this case we write it as Test011.
  1. In the trigger tab you can set the TRIGGER for your device and in the ACTION tab you can set the action to be performed based on the trigger which you have created.
  1. Set these things in TRIGGER section:
  • Set Node Type to Device.
  • Set the Node to MPU6050_Acc_x.
  • Set the Capability to parent_abstract.
  • Set the variables to uuid.
  • Set the Comparator to Greater (>).
  • Set the Value Type to value.
  • Set the value to 0.
  1. Set these values in the ACTION section.
  • Set Controllable Type to Device.
  • Set the Controllable to LED 1.
  • Set the Capability to power_command.
  • Set the Value Type to set.
  • Set the value to true.
  1. After clicking the save button you can see this screen on the top right corner of the screen.
  2. Here, you can see your saved MeshBot. Now again click on Create new Meshbot.
  3. After clicking on Create new MeshBot, you will see this now under Automation MeshBot click on Cloud.
  4. On the next screen you will see that we can create a name of our choosing, in this case we write it as Test012.
  1. In the trigger tab you can set the TRIGGER for your device and in the ACTION tab you can set the action to be performed based on the trigger which you have created.
  1. Set these things in TRIGGER section:
  • Set Node Type to Device.
  • Set the Node to MPU6050_Acc_x.
  • Set the Capability to parent_abstract.
  • Set the variables to uuid.
  • Set the Comparator to Equal (==).
  • Set the Value Type to value.
  • Set the value to 0.
  1. Set these values in the ACTION section.
  • Set Controllable Type to Device.
  • Set the Controllable to LED 2.
  • Set the Capability to power_command.
  • Set the Value Type to set.
  • Set the value to true.
  1. After clicking the save button you can see this screen on the top right corner of the screen.
  2. Here, you can see your saved MeshBot. Now again click on Create new Meshbot.
  3. After clicking on Create new MeshBot, you will see this now under Automation MeshBot click on Cloud.
  4. On the next screen you will see that we can create a name of our choosing, in this case we write it as Test013.
  1. In the trigger tab you can set the TRIGGER for your device and in the ACTION tab you can set the action to be performed based on the trigger which you have created.
  1. Set these things in TRIGGER section:
  • Set Node Type to Device.
  • Set the Node to MPU6050_Acc_x.
  • Set the Capability to parent_abstract.
  • Set the variables to uuid.
  • Set the Comparator to Less (<).
  • Set the Value Type to value.
  • Set the value to 0.
  1. Set these values in the ACTION section.
  • Set Controllable Type to Device.
  • Set the Controllable to LED 3.
  • Set the Capability to power_command.
  • Set the Value Type to set.
  • Set the value to true.
  • Now Click the Save button.
  1. After clicking the save button you can see this screen on the top right corner of the screen.
  1. Here, you can see your saved MeshBot. Now click on Dashboard.
  1. Now, in the MiOS web dashboard, we can see the values of X-Axis, Y-axis and Z-axis and the Gyro data of X, Y and Z Axes, also the tiles of 3 LEDs. We want to indicate only the X-axis level through the LEDs. Here when the X-axis value goes above 0 then LED 1 gets turned ON due to our meshbot settings.
  1. Now in the above picture, we can see that the value of the X-axis is stable at 0 then the LED 2 turns ON because of our setting of meshbot.
  1. Here in this picture, we can see that the value of the X-axis goes below 0 then the LED 3 turns ON because of our setting of meshbot.

6. 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. Here, as seen above on the MiOS mobile dashboard, we can see the values of Y-axis and Z-axis and the Gyro data of X, Y and Z Axes, also the tiles of 3 LEDs. We want to indicate only the X-axis level through the LEDs. So here when the Z-axis value goes above 0 then LED 1 gets turned ON due to our meshbot settings.
  1. Now in the above picture, we can see that the value of the X-axis is stable at 0 then the LED 2 turns ON because of our setting of meshbot.
  1. Here in this picture, we can see that the value of the X-axis goes below 0 then the LED 3 turns ON because of our setting of meshbot.
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
$00.00

eZlopie Products AC Lamp and Holder
$00.00