An AI-powered gesture recognition system using ESP32-CAM for touchless control of IoT devices.
The system enables users to control appliances using hand gestures without physical contact.
This project demonstrates a touchless IoT control mechanism where hand gestures are captured using an ESP32-CAM module, processed in real time, and mapped to control commands for IoT devices such as lights or fans.
It is designed for smart homes, healthcare environments, and assistive technologies.
- Touchless control of IoT devices using hand gestures
- ESP32-CAM based vision sensing
- Real-time gesture recognition
- Lightweight and low-cost embedded implementation
- Suitable for smart homes and assistive environments
The system consists of:
- ESP32-CAM for image capture
- Gesture recognition logic
- IoT control module (relay / cloud / MQTT)
- End device (appliance)
The system architecture diagram is available in the
assets/folder.
The following diagram shows the overall architecture of the gesture-based touchless IoT control system, including the ESP32-CAM, gesture processing logic, wireless communication, and IoT device control.
- ESP32-CAM captures live video frames
- Frames are processed to detect hand gestures
- Recognized gestures are mapped to predefined actions
- Control signals are sent to IoT devices wirelessly
- Devices respond instantly without physical contact
The diagram below illustrates the end-to-end data flow of the gesture-based touchless IoT control system, from gesture capture to device actuation and feedback.
- ESP32-CAM captures live video input.
- Image frames are preprocessed for gesture detection.
- Recognized gestures are classified using lightweight vision logic.
- Each gesture is mapped to a predefined IoT control action.
- Control signals are sent wirelessly to the IoT device.
- The connected appliance responds instantly to the gesture.
The following circuit shows the hardware connections used in the gesture-based touchless IoT control system, including the ESP32-CAM, USB-to-TTL module, relay module, and controlled load.
- ESP32-CAM
- Embedded C / Arduino
- Python (for preprocessing / gesture logic, if applicable)
- Computer Vision
- IoT & Wireless Communication
- ESP32-CAM module
- Relay module (for appliance control)
- Power supply
- Connecting wires
- Controlled appliance (bulb / fan / device)
- Arduino IDE
- ESP32 board package
- Embedded C / Arduino
- Python (optional, for gesture model training)
- Python 3.8 or higher
- Arduino IDE
- ESP32 board package installed in Arduino IDE
- USB-to-TTL module (for ESP32-CAM programming)
- Stable Wi-Fi connection
- MQTT broker (public or local)
1.cd gesture-based-touchless-iot-control
2.Install Python dependencies: pip install -r requirements.txt
3.Run the gesture recognition script: python src/gesture_inference.py
4.Run the MQTT control script to send commands to IoT devices: python src/mqtt_control.py
5.Upload ESP32-CAM code:
Open Arduino IDE
Select ESP32-CAM board
Select correct COM port
Upload the file: src/esp32_cam_gesture.ino 6.Power the ESP32-CAM and perform hand gestures in front of the camera.
7.Recognized gestures are converted into control commands and sent wirelessly to IoT devices using MQTT.
8.The connected appliance (bulb / fan / device) responds instantly without physical contact.
- Smart home automation
- Touchless control systems
- Assistive technology
- Healthcare environments
- IoT-based human–computer interaction
Varri Sneha
B.Tech – Electronics and Communication Engineering
IIIT Manipur


