Gesture-Controlled Robotic Hand
Wearable Inertial Sensing Directly Mapped to 4-DOF Robotic Arm Actuation via Arduino
Project Domain
Robotics & Embedded Systems
Execution Stage
Hardware Prototype
Timeline / Year
2025 · Embedded Robotics
Repository & Code
GitHub Repository →Visual Documentation & Artifacts
Click any photo to enlargeEngineering with real-world constraints.
This project implements a direct, intuitive control interface between human hand motion and a robotic manipulator arm. A wearable glove fitted with an MPU6050 6-axis inertial measurement unit (IMU) translates the physical tilt and orientation of the user's hand into proportional servo motor commands on a four-degree-of-freedom robotic arm in real time.
The system is entirely embedded — the Arduino microcontroller reads raw accelerometer data from the MPU6050 over I2C, converts the readings into angular orientation estimates, applies motion smoothing, and outputs servo PWM signals, all within a tight control loop running at embedded clock speeds.
The design intentionally keeps the sensing-to-actuation pathway as direct as possible: tilting your wrist forward moves the arm forward, tilting it sideways rotates the base, and a button on the glove opens and closes the gripper end-effector. The goal was to explore how natural and immediate a human-robot interface can feel when the translation between intent and action is minimal.
Sensing to Actuation — Closing the Loop Directly
Most robotic arm control interfaces require the operator to interact with a joystick, a keyboard interface, or a graphical control panel — all of which introduce an abstraction layer between the human's physical intuition and the machine's response.
This project explores the other extreme: mapping body motion as directly as possible to robot motion. By strapping an inertial sensor directly to the hand, the user's natural wrist movements become the control signal. Tilting the wrist at 30 degrees commands the arm to a 30-degree position — no abstraction, no interface learning curve beyond understanding what each axis controls.
The embedded control architecture was chosen deliberately to keep latency minimal. Running the sensing and control loop entirely on a microcontroller eliminates the roundtrip communication latency of a host-computer-based architecture, making the arm's response feel immediate.
Component Deep Dives
Wearable Sensor Glove
│ (I2C / Wire.h)
▼
MPU6050 6-Axis IMU Sensor
│
▼
Arduino Uno/Nano Microcontroller
│
┌─────────┴─────────┐
▼ ▼
Pitch/Roll Tilt Push Button Latch
│ │
Low-Pass Filter │
│ │
▼ ▼
[Base / Elev / Reach] [Gripper]
└─────────┬─────────┘
▼
4-DOF Manipulator ArmHardware Architecture
The system consists of two interconnected components: the wearable sensor glove and the 4-DOF robotic arm. The glove mounts an MPU6050 6-axis IMU and a push button, connected to an Arduino Uno (or Nano) via standard jumper wires.
The robotic arm is driven by four servo motors connected to separate PWM pins on the Arduino. An external power supply is strongly recommended for the servos, as the combined current draw of four servo motors under load exceeds what the Arduino's onboard 5V regulator can safely supply. The push button uses a digital input pin with an internal pull-up resistor.
Pin assignments: Servo 1 (Forward/Backward) on pin 4, Servo 2 (Up/Down) on pin 3, Servo 3 (Gripper) on pin 2, Servo 4 (Left/Right) on pin 5, Button on pin 8, MPU6050 on SDA/SCL (A4/A5 on Arduino Uno).
Explore Full Codebase on GitHub
Includes complete source code, installation instructions, launch files, and documentation.
Key Capabilities
Wearable MPU6050 Glove Interface
6-axis IMU mounted on a wearable glove translates wrist tilt angles directly into proportional robotic joint positions — the most natural possible mapping between user intent and arm response.
4-DOF Servo Actuation
Four independently driven servo channels: Base rotation (Left/Right), Shoulder elevation (Up/Down), Elbow reach (Forward/Backward), and Gripper latch (open/close push button).
I2C Sensor Communication
MPU6050 communicates with the Arduino microcontroller over the I2C bus using the Wire.h library, providing 6-axis accelerometer and gyroscope readings at embedded clock speeds.
Real-Time Servo Jitter Filtering
Software low-pass smoothing and bounded rate-of-change limiting eliminates IMU noise-induced servo jitter, producing smooth, mechanically stable arm motion.
Latching Gripper Button
Push button toggles gripper state between open and closed, removing the need to hold the button continuously during object gripping tasks.
Fully Embedded Control Loop
Entire sensing, computation, and actuation pipeline runs on-chip on the Arduino microcontroller with minimal latency, producing arm responses that feel immediate.
- [01]Embedded Systems
- [02]Arduino
- [03]MPU6050
- [04]I2C / Wire.h
- [05]C++
- [06]4-DOF Servo Control
- [07]Real-Time Control
Other Selected Works
Autonomous Drone
A ROS2 autonomous-navigation stack for a DJI Tello: monocular ORB-SLAM3 for real-time visual SLAM with a custom depth-estimation and scale-recovery pipeline, plus occupancy mapping and exploration planning layers in active development.
Learn more →Deep Learning & Medical ImagingConditional Multimodal MRI Synthesis & Brain Tumor Segmentation
A two-model system combining a ResNet U-Net for multi-class brain tumor segmentation with a conditional diffusion model that synthesizes 4-modality MRI scans from masks. Led as a two-person project and trained on TPU.
Learn more →Computer Vision & Edge AIGesture-Controlled Drone
A real-time gesture-recognition pipeline controlling a DJI Tello in flight. Built on a self-collected dataset of 5,000+ hand-landmark samples, a feature-engineered classifier, and temporal smoothing for reliable control.
Learn more →