A low-cost, remotely controlled bionic hand that mimics human hand gestures using servo motors, nylon strings acting like tendons, and IoT control via the Blynk platform.
This project demonstrates a cost-effective, IoT-enabled bionic hand built with an ESP32 microcontroller. Each finger is actuated by a servo motor pulling a nylon tendon, and the hand is controlled in real-time via a smartphone through the Blynk IoT platform over WiFi.
| Component | Purpose |
|---|---|
| ESP32 Devkit V1 | Main microcontroller (Wi-Fi + Bluetooth) |
| Servo Motors (×6) | One per finger + lateral thumb motion |
| Nylon Strings | Act as tendons to curl fingers |
| Elastic Strings | Act as muscles to extend fingers back |
| External Power Bank | Powers servos without overloading ESP32 |
| 3D-Printed Hand Frame | Physical structure of the hand |
| Jumper Wires + Breadboard | Electrical connections |
| HC-05 Bluetooth Module (optional) | Short-range offline control |
| Tool | Purpose |
|---|---|
| Arduino IDE | Programming the ESP32 |
| ESP32Servo Library | ESP32-compatible servo control |
| Blynk IoT Platform | Mobile app interface for real-time control |
Each finger is driven by a dedicated servo motor:
- Curl — Servo rotates, pulling the nylon tendon, curling the finger
- Fold — Besides the 5 servos for each of the fingers, a 6th servo controls the thumbs lateral motion
- Extend — Servo releases, elastic string pulls finger back to open position
The Blynk app sends button/slider signals to the ESP32 over WiFi. The ESP32 decodes these into servo angle commands using virtual pins (V0–V18).
Final_Display_Product.mp4
First_Functional_Test.mp4
| Virtual Pin | Function |
|---|---|
| V0 – V5 | Individual servo control (Thumb → Pinky + Palm) |
| V10 | Open all fingers |
| V11 | Close all fingers (grip) |
| V12 | Thumbs up 👍 |
| V13 | Show 1 finger ☝️ |
| V14 | Show 2 fingers ✌️ |
| V15 | Show 3 fingers 🤟 |
| V16 | Show 4 fingers 🖐 |
| V17 | Spiderman 🕷️ |
| V18 | Toggle Ambient Mode (wave animation) |
| Challenge | Solution |
|---|---|
| ESP32 brownouts when powering servos directly | Powered servos from an external power bank |
| Nylon strings tend to wear quickly due to friction | Doubled and ran them through thin plastic straws |
| Weak 3D printed joints | Bolted them |
- Force Sensors — Fingertip feedback for grip strength awareness
- Haptic Sensors — To relay texture, temperature, pressure details
- AI Gesture Recognition — Camera + ML model for gesture-based control
- Battery Optimization — Improved efficiency for real prosthetic use
- Install Arduino IDE and add ESP32 board support
- Install libraries:
ESP32Servo,Blynk(via Library Manager) - Create a new Blynk template and get your Auth Token
- Replace placeholders in the code:
#define BLYNK_TEMPLATE_ID "YOUR_TEMPLATE_ID" #define BLYNK_AUTH_TOKEN "YOUR_AUTH_TOKEN" char ssid[] = "YOUR_WIFI_SSID"; char pass[] = "YOUR_WIFI_PASSWORD";
- Upload the sketch to your ESP32
- Configure the Blynk app with sliders (V0–V5) and buttons (V10–V18)
- Power up and control! 🤖
This project was created for educational purposes. Feel free to build upon it!

