Building a servo robotic hand as a STEM prosthetics project is one of the most impactful and technically impressive projects a student can undertake. It combines servo motor control, sensor input, mechanical design, and coding into a single project that directly demonstrates how engineering can solve human challenges. This project is particularly popular for BTech final year exhibitions, FIRST robotics competitions, and school science fairs across India — and it consistently draws the most attention from judges and visitors.
Table of Contents
- Project Concept and Working Principle
- Components Required
- Mechanical Design and 3D Printing
- Circuit Design
- Arduino Code for Servo Control
- Adding a Flex Sensor Glove
- Real-World Prosthetics Context
- Frequently Asked Questions
Project Concept and Working Principle
This project creates a robotic hand controlled by finger-bending motions of the operator’s own hand (detected via flex sensors on a glove). When the operator bends a finger, the corresponding servo motor in the robotic hand curls a mechanical finger — creating a mirroring effect. The system demonstrates the fundamental concept behind modern prosthetic hands, where myoelectric sensors (muscle electrical signals) or glove-based sensors control a motorised prosthetic.
Components Required
| Component | Quantity | Approx. Cost (INR) |
|---|---|---|
| Arduino Uno R3 | 1 | ₹350–500 |
| SG90 Servo Motor (9g) | 5 | ₹80–120 each |
| Flex Sensor 2.2″ (for glove) | 5 | ₹200–400 each |
| 10kΩ Resistors (for flex voltage dividers) | 5 | ₹5–10 |
| Fishing line / nylon thread | 5m | ₹50–100 |
| PLA filament (for 3D printing hand) | 200g | ₹300–500 |
| Breadboard + jumper wires | 1 set | ₹100–150 |
| 5V/2A power supply | 1 | ₹100–150 |
Note: Flex sensors are the most expensive component. Budget version: use homemade flex sensors made from conductive foam, or use potentiometers on the glove to control hand position manually.
Mechanical Design and 3D Printing
The InMoov open-source robotic hand design (available free at inmoov.fr) is the most popular choice for this project. Its STL files print on any FDM 3D printer with a 15×15cm bed. If your college doesn’t have a 3D printer, many makerspaces in Indian cities (including Maker’s Asylum Mumbai, Workbench Projects Bengaluru) offer print services.
Alternatively, build a simplified hand from:
- Craft foam sheets — cut finger shapes, join at knuckle points with flexible material
- Cardboard and tape — basic 5-finger hand demonstration model
- PVC pipes — rigid finger sections connected by spring hinges
The mechanical principle: nylon thread runs through guides on each finger. When a servo pulls the thread, the finger curls. When the servo releases, an elastic band (or spring) on the back of the hand extends the finger again. This tension-based actuation system is similar to how actual human tendons work.
Circuit Design
Servo Connections
Servos connect to Arduino PWM pins. With 5 fingers, use pins 3, 5, 6, 9, 10, and 11:
- Thumb servo → Pin 3
- Index servo → Pin 5
- Middle servo → Pin 6
- Ring servo → Pin 9
- Little servo → Pin 10
Important: Servos draw up to 250mA each. With 5 servos, that’s 1.25A total — beyond Arduino’s USB power capability. Use an external 5V/2A power supply for the servos. Connect servo GND to Arduino GND but power servos from the external supply’s 5V.
Flex Sensor Connections
Each flex sensor connects to an Arduino analog pin via a voltage divider circuit:
- 5V → Flex Sensor → Junction Point → 10kΩ resistor → GND
- Junction Point → Analog Pin (A0–A4)
Arduino Code for Servo Control
// Servo Robotic Hand - STEM Prosthetics Project
#include <Servo.h>
// Create servo objects for 5 fingers
Servo thumbServo, indexServo, middleServo, ringServo, littleServo;
// Flex sensor analog pins
const int FLEX_THUMB = A0;
const int FLEX_INDEX = A1;
const int FLEX_MIDDLE = A2;
const int FLEX_RING = A3;
const int FLEX_LITTLE = A4;
// Calibration values (adjust for your flex sensors)
const int FLEX_FLAT = 700; // ADC value when finger is straight
const int FLEX_BENT = 900; // ADC value when finger is fully bent
void setup() {
// Attach servos to PWM pins
thumbServo.attach(3);
indexServo.attach(5);
middleServo.attach(6);
ringServo.attach(9);
littleServo.attach(10);
Serial.begin(9600);
}
void loop() {
// Read flex sensors and map to servo angles
int thumbAngle = mapFlex(analogRead(FLEX_THUMB));
int indexAngle = mapFlex(analogRead(FLEX_INDEX));
int middleAngle = mapFlex(analogRead(FLEX_MIDDLE));
int ringAngle = mapFlex(analogRead(FLEX_RING));
int littleAngle = mapFlex(analogRead(FLEX_LITTLE));
// Write angles to servos
thumbServo.write(thumbAngle);
indexServo.write(indexAngle);
middleServo.write(middleAngle);
ringServo.write(ringAngle);
littleServo.write(littleAngle);
// Debug output
Serial.print("T:"); Serial.print(thumbAngle);
Serial.print(" I:"); Serial.print(indexAngle);
Serial.print(" M:"); Serial.print(middleAngle);
Serial.print(" R:"); Serial.print(ringAngle);
Serial.print(" L:"); Serial.println(littleAngle);
delay(50); // 20 Hz update rate
}
int mapFlex(int rawValue) {
// Map flex sensor reading to servo angle (0 = open, 180 = closed)
int angle = map(rawValue, FLEX_FLAT, FLEX_BENT, 0, 180);
return constrain(angle, 0, 180);
}
Adding a Flex Sensor Glove
Mount the flex sensors on a fabric glove using small fabric adhesive patches or by sewing sensor loops. Route wires along the back of the hand to a central point connected to the Arduino via a ribbon cable or wireless Bluetooth (HC-05 module) for a cleaner, more impressive demonstration.
For the wireless version, add an HC-05 Bluetooth module to both the glove Arduino and the hand Arduino. The glove Arduino transmits finger angle data as a comma-separated string, and the hand Arduino receives and executes the servo positions. This removes the wire tether and makes the demonstration far more impressive at exhibitions.
Real-World Prosthetics Context
This project mirrors real prosthetic hand technology:
- i-Limb (Össur) — myoelectric prosthetic hand used globally, uses muscle signals instead of flex sensors but same servo-based finger actuation
- Luke Arm — DARPA-funded prosthetic using neural signals for control
- Jaipur Foot — India’s famous low-cost prosthetic (Bhagwan Mahaveer Viklang Sahayata Samiti) demonstrates that Indian engineers can create world-class accessible medical devices
- e-NABLE Community — open-source prosthetic hand designs (3D printed) used globally, available for free download
Framing your project within this context during the exhibition demonstrates research awareness and broader engineering perspective — qualities that impress judges and interviewers alike.
Frequently Asked Questions
Can I build the robotic hand without a 3D printer?
Yes. Use cardboard, craft foam, or PVC pipe for finger structures. While 3D-printed versions look more professional, cardboard prototypes demonstrate the same mechanical principles. Many award-winning student projects have used non-3D-printed mechanical designs effectively.
How many servo motors do I need for a 5-finger robotic hand?
For individual finger control, 5 servo motors (one per finger) is standard. For a simplified version, 2 servos can control all 4 fingers together and the thumb separately — reducing cost and complexity while still demonstrating the core concept.
What is the approximate cost of this robotic hand project in India?
Basic version (without flex sensors, using potentiometer control): ₹1,500–2,000. With flex sensors (5 sensors): ₹3,000–5,000. With 3D printed hand and wireless control: ₹4,000–8,000. The flex sensors are the most expensive individual component — look for them from quality Indian electronics suppliers.
Is this project suitable for submission to Avishkar, IIT Techniche, or Smart India Hackathon?
Yes. Robotic prosthetics projects are popular at IIT tech fests and national hackathons. To strengthen your submission, add a biomedical engineering perspective, cost comparison with commercial prosthetics, and a clear explanation of how the technology could be accessible to rural India where 70% of India’s disabled population lives.
What improvements can make this project stand out from other robotic hand projects?
Differentiate with: wireless control (Bluetooth), haptic feedback (small vibration motors in the glove fingers vibrate when the robotic hand touches something), force sensing (pressure sensors in fingertips), or voice command integration for pre-programmed gestures (peace sign, thumbs up, fist).
Add comment