Gesture recognition system
Gesture recognition system

Smart gesture recognition with EzloPi!

Gesture recognition system

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 gesture recognition system utilizes the MPU6050 3-axis accelerometer and gyroscope module, along with the ADA1070 flex sensor, interfaced with the EzloPi device to detect and interpret hand movements. The MPU6050 provides precise motion tracking through accelerometer and gyroscope data, capturing movement dynamics, while the ADA1070 flex sensor measures finger or joint bending angles. By processing this combined data, this system recognizes various gestures in real time, which enables applications such as controlling devices or triggering actions with simple hand movements. This setup offers versatility in smart home automation, robotics, and interactive systems.

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.
  • ADA1070 flex sensor.
  • Resistor of 100 Ohms as voltage divider.

The wiring diagram for the ESP32 30 pin is represented as below:

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

From ESP32 to MPU6050:

ESP32 MPU6050
3V3 VCC
GND GND
21 SCL
22 SDA

From ESP32 to Flex Resistor & Resistor:

ESP32 MOSFET driver module
D15 Trig
GND GND

From Power Supply to the MOSFET driver module:

ESP32 Flex Resistor/Sensor Resistor
VIN Terminal 1
- Terminal 2 Terminal 1
32 Terminal 2 Terminal 1
GND - Terminal 2

4. Interfacing the MPU6050 & Flex Resistor using 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 window will open for inputting the following parameters:
  • Set a Device name of your choosing. In our case, we set it to MPU6050.
  • Set Device Subtype to MPU6050 Accelerometer and Gyroscope.
  • Set the SDA pin to 21.
  • Set the SCL pin to 22.
  • Tick mark both boxes of Enable pullup.
  • Then Click Apply Button.
  1. Again, In the Device Configuration, tab click on Analog Input.
  1. An Analog Input window will open for inputting the following parameters:
  • Set a Device name of your choosing. In our case, we set it to the Flex Resistor.
  • Set Device Subtype to Flex Resistor.
  • Set the ADC input pin to 32.
  • Set the Resolution to 10-bit.
  • 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 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, you will be able to see the tiles of your connected devices. The MPU6050 shows the accelerometer and gyro data of the three axes i.e X,Y and Z regarding hand gestures whereas flex resistor also shows the value when the hand bends.
  1. Now as seen above, there are now different values being shown on the tiles of both MPU6050 and flex resistor as they depict different values when there is a different gesture being made. Due to a different gesture, the values of the three axes movement data will also vary and the bending is also shown by the flex resistor.

6. MiOS Web Dashboard

  1. After configuring the controller with the EzloPi web flasher, head to ezlogic.mios.com
  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 tiles of your connected devices. The MPU6050 shows the accelerometer and gyro data of the three axes i.e X,Y and Z regarding hand gestures whereas flex resistor also shows the value when the hand bends.
  1. Now as seen above, there are now different values being shown on the tiles of both MPU6050 and flex resistor as they depict different values when there is a different gesture being made. Due to a different gesture, the values of the three axes movement data will also vary and the bending is also shown by the flex resistor.
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