DIY Robotic Hand Controlled by a Glove and Arduino

FeaturedContest Winner
Picture of DIY Robotic Hand Controlled by a Glove and Arduino
This project idea came to me when I was sitting on a bed on a hotel room on vacation. I thought: "It'd be really neat to have a robotic hand that I can control with my own hand!" Upon returning home, I embarked upon a journey to design and create the project. I hope you enjoy!

The basic components of the hand and glove are the hand itself, the servos, the Arduino, the glove, and the flex sensors. The glove is mounted with flex sensors: variable resistors that change their value when bent. They're attached to one side of a voltage divider with resistors of a constant value on the other side. The Arduino reads the voltage change when the sensors are bent, and triggers the servos to move a proportional amount. The servos pull strings that act as tendons, allowing the fingers to move. Here's a video of it in action ( 

The hand itself comes from an open-source, 3D-printable download. It's part of a project called InMoov: (

This guide will show you all the steps required to build your own robotic hand and control glove!
Remove these adsRemove these ads by Signing Up

Step 1: Gather the Materials

Picture of Gather the Materials
In total, this project will cost about $100-150, depending on where you get some of the parts. Here's the parts list:

5x MG946R Servos (or equivalent - MG995 or MG996 should work too. I've had a bit of trouble with the range of motion, so servos that support more degrees of rotation would be better) - I got mine from, but for a less expensive option I'd go with eBay (they come directly from China, so shipping may take longer).

5x 4.5 inch flex sensors - I got mine here:
1x Arduino Uno or equivalent (they're also much cheaper on eBay)
5x 22k resistors
1x 6.0-7.2V battery (for the servos) - I used this:

1x small breadboard
1x battery connector - something like this:
Breadboard jumpers/hookup wire
1x small blank PCB - I used something like this, only square:

1x right hand glove (should be sturdy and fit well)
1x 8mm diameter 55mm long bolt
1x 8mm diameter 60mm long bolt
1x 8mm diameter 80mm long bolt
14x 3mm diameter about 20mm long screws
20x 4mm diameter screws (any length between 7mm and 30mm is fine)
Approx. 5 meters of string (should have a high-ish breaking strength) - I used this:

Hot glue
Super glue
Sandpaper (I used 431 grit) - a Dremel tool with a sanding head would also work
Needle and thread

A power drill
A soldering iron
Access to a 3D printer

...And you're ready to start!
1-40 of 180Next »
bigshf1 year ago
This is awesome! You really gave me motive enough to study the whole Arduino technology. Thanks a lot mate and .. Congratulations!
Raphango1 year ago
Pretty wow dude!

On the flex sensor, which one is the analog and which one is the ground? In your schematic, it seems like the flex sensor is a mirrored version of mine.

Dkdude987 days ago
How do you connect the battery connector to the battery? It seems like if you did connect it, it would create a short.
dschurman (author)  Dkdude987 days ago
The battery connecter I had wasn't exactly the right size, so I pretty much just used two wires and always made sure the polarity was right
Gcappelli8 days ago
Where does the battery go?
dschurman (author)  Gcappelli8 days ago
The battery connects to two of the rails on the edge of the breadboard
Hi..your project is wonderful...have to say.
And i cant see how the wiring between the fingers and the servos is made ..where does all these wire go and attach to the finger? To the end of each finger?please explain sir
dschurman (author)  Harrylorence10 days ago
In steps 3 and 6, there are diagrams of the wiring. What do you mean to the end of each finger?
Gcappelli11 days ago
Where does the breadboard attach to the arduino
dschurman (author)  Gcappelli11 days ago
The code is attached to step 6. Connect the orange servo wires to pins 3, 5, 6, 9, and 10, and connect the breadboard's ground to the ground of the arduino.
Gcappelli12 days ago
Question. Can anyone give me the code for this project for the arduino so that I can copy and paste it onto my arduino and then run it. That would by helpful, thanks
dschurman (author)  Gcappelli11 days ago
A file containing the code is attached to one of the steps. It's called "hand.rtf"
Thanks I only need to know now the exact locations where to put the wires that are coming from the servos onto the arduino. Which in step 6 are the orange wires
Gcappelli11 days ago
What are the exact locations of where to put the wires that are coming from the servos onto the arduino, which in step 6 are the orange ones
Gcappelli11 days ago
It also says that the program for the arduino is attached but I don't see it
HarigovindM16 days ago


First of all let me thank you for such a great set of instructions.

I had a few doubts that I am sure you could help me with,

1. You have made use of 5 flex sensors to control each finger. Will I be able to get the same control that you got for the fingers if i use one of the flex sensors in the upper part of my palm to control the entire wrist area ie five fingers and my palm(wrist) using 6 flex sensors in total.

2. Will I need a powerful stepper motor like the one you have used (15Kg cm) or will a smaller one with less torque (1.8Kg Cm) will do the same function. In one of the comments (BOCA Bearing) I found he had used a 1.8Kg Cm but did not get as much flexibility like the one you had used. But the smaller torque motor is very light weight compared to the one you had used.

Do give me your opinion on the above two queries.

dschurman (author)  HarigovindM15 days ago
1. If you use an additional flex sensor but still keep the 5 for the individual fingers, I don't think you'd lose any control.

2. You might be lacking a little torque, but if you don't mind giving up some flexibility, go for it. I haven't personally tested low torque motors, so I can't say from experience, but what BOCA said seems reasonable. Just make sure the dimensions are the same so they'll fit in the servo bed (or you could make your own)
JaviB1 made it!23 days ago

Hi! thank you for this guide!. That help me a lot i made with STM32NUCLEOF401RE and a pair of xbee to control it. :D

Archivo 29-5-15 17 37 34.jpegArchivo 11-6-15 10 23 49.jpeg
zapya24 days ago

we are undertaking a electrical prosthetic palm for our project. Could you kindly send us the circuit details , specifications to the mail id

bocabearing made it!25 days ago


I completed this project but with two XBees. I found another instructable that used a similar method with the glove but wirelessly. That other instructable can be found at:

I had some trouble using the code from the other instructable so I decided to use this code along with the how data is being transmitted through XBees from the other instructable's code.

You can see how the project was carried out as well as videos of my project at the following link:


7dp33328 days ago

Hey, so when I connect the battery to the breadboard the wires start melting/overheating. Do I need to use stronger wires or something? I've double checked and there aren't any +/- crossovers.

dschurman (author)  7dp33328 days ago
Maybe you do need thicker wires, I'm not sure. Most batteries come with built-in current limiting capabilities, so I've never had that problem before

Okay I'll try that. It's only the two wires connected to the battery that are overheating/melting. Thank you!

7dp33329 days ago

This is a great instructable. Hopefully I'm very close to finishing this! Thank you for posting this!

I have written only the hand.rtf programme , do i need to write all the programmes like(roboservobed.stl).?

anson.wing1 month ago

Great instructable, building this now! One question, is it possible to use a 7.2 power supply instead of a battery without any issue?

dschurman (author)  anson.wing1 month ago
It shouldn't be a problem as long as the supply can provide a decent amount of current - that's why the Arduino's built-in power supply doesn't work, it's capped at 250 mA or so.

Sounds good thanks! I ended up ordering and I'll cut the connector off. I hope it does the job!

dschurman (author)  anson.wing1 month ago

That should do it. Good luck!

MaxR82 months ago

Anyone have the program for bendsesors? i'm kind of a noob and its urgent haha ;)

dschurman (author)  MaxR82 months ago
The program for the whole hand is attached to the instructable under one of the steps. Is that what you need?
MaxR8 dschurman2 months ago
oh hehh.. thanks man really helpful article great job!
MaxR82 months ago

Program? Does anyone have it?

AyushM13 months ago

is the glove and the hand connect with each other or they are wirelessly controlled?

AyushM13 months ago

i want to know the measurement unit in which the 3d structure are to be print cm,mm,in???
plz reply asap

riz.rizwan.123 months ago

im using a flex sensor of 2.2 and the rotation degree is very low..can you tell me how to change the program so that the servo turns full 180...please help..its urgent

dschurman (author)  riz.rizwan.123 months ago
In the program, you have to change how the input values from the sensors are mapped to the degrees of servo rotation. Basically, narrow the range of sensor inputs that will give the full degrees of rotation
nomadillo3 months ago

How strong are the servos? I'm thinking of modifying the prosthetic hand to be placed into the palm of a stroke patient, with velcro straps on individual finger segments, servos etc in a wristband. The glove would be worn on the patients other working hand and he could manipulate his weak hand, index/index, grasp/grasp etc.

1-40 of 180Next »