This project idea came to me when I was sitting on a bed in a hotel room while 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!

Update: First Prize winner in the Instructables 2013 Microcontroller Contest!

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 resistance 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: http://inmoov.blogspot.com (http://www.inmoov.fr)

This guide will show you all the steps required to build your own robotic hand and control glove!

Step 1: Gather the Materials

In total, this project will cost about $100-150, depending on where you get the parts. Here is the materials 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 a higher degree of rotation would be better) - I got mine from hobbyking.com, 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: http://microcontrollershop.com/product_info.php?products_id=3802
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: http://www.all-battery.com/Tenergy7.2V3000mAhRCCarNiMHBatteryPackwithCharger-91103.aspx

1x small breadboard
1x Standard Tamiya battery connector - something like this: http://www.batteryspace.com/Connector/Adaptor-Standard-Female-Tamiya-with-14-AWG-Silicon-wire.aspx

Breadboard jumpers/hookup wire
1x small blank PCB - I used something like this, only square (RadioShack has since removed the original product, but this should work as well): http://www.radioshack.com/radioshack-printed-circuit-board/2760170.html

1x glove (I used a right-hand glove - should be sturdy and fit well)
1x 8mm diameter 55mm length bolt
1x 8mm diameter 60mm length bolt
1x 8mm diameter 80mm length bolt
14x 3mm diameter about 20mm length 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: http://www.amazon.com/gp/product/B004YWKPCS/ref=oh_details_o01_s00_i00?ie=UTF8&psc=1

Hot glue
Super glue (C.A. glue)
Sandpaper (I used ~220 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!

This is awesome! You really gave me motive enough to study the whole Arduino technology. Thanks a lot mate and .. Congratulations!
Pretty wow dude! <br>Congratulations!
<p>is this technology or engineering?</p>
<p>I did exactly what you wrote in your directions, but for some reason it doesn't work. The arduino is on, and the code is uploaded to it, but there is nothing in the &quot;serial monitor&quot; and the servos don't move. (This is my work, but I don't have the hand attached to the servos yet, and i've only connected 4 flex sensors)</p>
I'm not familiar with that type of prototyping board (the blue one where the servos are connected to the batteries), are you sure the connections in it run the way you want them to? The configurations and wiring and everything looks okay though.
<p>I doubled checked again the connections, and now the servos work, but they just turn randomly; they don't respond to the flex sensors. I think my connections are correct, and the code that I am using is the code that I copied from the file that you attached. </p>
<p>Hi there, I use those same breadboards (the blue one with the red and black wires). By that picture, it doesn't look like anything is connected, each column is separately shorted. And the big divider in the middle of the board separates and insulates the two sides. Essentially even though you have like 10 wires plugged into the breadboard, they are all insulated. Try testing how the board works using a multimeter or a basic battery/LED combination and map out the connectings. </p>
I actually got it to work. Now it's all good. Oh and the connect in the small breadboard are correct because my problem was with the sensors.
I need code if u have the code plz mail me ---swapnilnagre999@gmail.com<br>
<p>Thank you for the inscrutable. I ended up using the same concept for one of my courses at UNT with the exception of using the TivaLaunchpad from Texas Instruments. The Launchpad uses peripherals which makes the code a bit longer than Arduino but I am more thank willing to share the code for the public if anybody is interested.</p>
<p>Hey, which resistor did u use? I am using a 20k resistor ( it has 5 lines on it) and for some reason my flex sensors don't respond to the arduino and the code. I have a feeling that it doesn't work because of the resistor. </p>
<p>The best thing to do is take a multi-meter to the flex sensor and see what is the max and min value of the resistor in Ohms. Then look up a voltage divider circuit much like the posters circuit above. I believe my flex sensor ranged from 10k to 20k where I used a 10k for the voltage divider. </p>
<p>Thanks. I used the multi-meter and now it all works. It turned out that my numbers were too big. yay. </p>
The resistor value shouldn't be a huge factor anyway (but I used 22k). If the circuit isn't working, it's more likely a problem not everything being wired in the right place.
<p>could i get the code to look at? for launchpad?</p>
<p><a href="https://github.com/jec0317/Final_Hand_Project" rel="nofollow">https://github.com/jec0317/Final_Hand_Project</a></p><p>If you have issues just email me at</p><p>jonathan.coley22@gmail.com</p>
<p> need code plzzzzz</p>
<p>thank you your a science fair safer</p>
<p>Can you email me please? Luiseachherrera1@icloud.com</p><p>im doing this project for a competition with my group and i feel like we're gonna need your help. Please and thank you </p>
how can i buy it?and what will be the price?
<p>Thank you for the inscrutable. I ended up using the same concept for one of my courses at UNT with the exception of using the TivaLaunchpad from Texas Instruments. The Launchpad uses peripherals which makes the code a bit longer than Arduino but I am more thank willing to share the code for the public if anybody is interested. </p>
<p>first off all thank you <a href="https://www.instructables.com/member/dschurman/" rel="nofollow">dschurman</a> for this nice project , I am working on the same project but i have problem with servos , i have tried servo (<a href="https://www.google.com.tr/aclk?sa=l&ai=CTdrOKYI-Vpz9L-n3ywOPr4LIBP_Ss-YG97OMtNoBx8SPp6YCCAYQASgCYJmGn4a8IaAB8fTF2QPIAQepAlOmQqaM_5Y-qgQmT9CIqsoGrroNEqq0cNI7IAQFcDJeET-d_g6IrWXBE-UysTlODb3ABQWgBiaAB_eKuiaIBwGQBwKoB6a-G9gHAeASorK1h9j4_rYx&sig=AOD64_1VO_yTVdOKj_HwX_aiOmzebgzt7g&ctype=5&clui=2&q=&ved=0CIMBEPQOahUKEwizuoPttP_IAhUEWiwKHZcHCo8&adurl=http://mktg.gittigidiyor.com/cm/ck/14489-145818-2357-0%3Fkeyword%3D%26mt_id%3D%26cid%3D58375874127%26networkType%3DSearch%26pid%3D79002067527%26type%3Dpla%26mpre%3Dhttp%253A%252F%252Furun.gittigidiyor.com%252Foyuncak%252Ftower-sg90-9g-servo-191160086" rel="nofollow">Tower Sg90 9g Servo</a>) and it was working very well but when i tried to power servo mg996 it just rotated by it self like sweeping without any control,how i can solve this problem thanks in advance .</p>
<p>hi bro..can you help me and provide a data about this in pdf or other..pls</p><p>iabdulhanan@gmail.com</p>
If u get than please send to me <br>Pushpendersaini93@icloud .com
<p>Sorry For Interruption But the same has happened to me you have to do two things <br>first you have to use a battery which can power all servos easily<br>second you have to give arduino separate power</p>
Hmm, I'm not sure what could be causing that. Are you sure you reconnected everything in the right way? Otherwise, checking online might help you more than I can. Sorry.
I made a glove using the long flex sensors from Adafruit. I hot glued 1/4 inch heat shrink to some work gloves and slide the sensors into the heat shrink. I read the sensors with an arduino uno and send servo position commands the 3d printed gand. It was actually very easy to do.
<p>hi slamer can you provide data about this project please....?</p>
<p>What kind of data are you asking for?</p>
I need data code fir arduino
Here is the video<br>https://youtu.be/vgytoMCJ-Ns
Cool! Did you use this Instructable for guidance or was this your own endeavor?
<blockquote>During my reasearch I did look at this Instructable and several other deisgns on Youtube and the Internet. I found this post to be useful and I would like to thank your posting it. That is how I usually start a new project. It's good to see what others have done and what has worked for them. Then I try some of my own ideas as well. I just built a second Data Glove for the Left hand and it is working just like the first one. We really live in interesting times were open source knowlege can be shared instantly with other Makers everywhere. Good times...</blockquote>
<p>Wow, that sounds really awesome. I want to learn how to build things like this, but I've never been able to. You seem to be very educated and inspirational! Do you have any idea where I should start? Perhaps something small that doesn't require the use of a 3D printer?</p>
<p>Thanks for the great tutorial. </p><p>When I move a finger, all of the servos move instead of just the one corresponding with the finger I moved. Any idea how to fix this?</p>
i think i gt ur pblm it is probably in code check ur code
Sounds like that's either a problem with the code or your connections. Do you have each servo connected to the correct Arduino output pins?
<p>Yeah, I have made sure all the servos are correctly connected and I used the exact code you provided for the tutorial.</p>
<p>please can some body provide me the programme for this exact experiment? </p>
<p>As you bend your fingers, is there any feedback given to your hand? For example, does it vibrate or indicate in some way that the robotic hand is moving as well? And if not, would there only need to be a change in code to have that vibration feedback or is there another motor or sensor that must be added to the glove? </p><p>Thank you in advance. </p>
Unfortunately, the flex sensors are only sensors and can't be programmed to move, so you would need an extra piece of physical hardware.
<p>please email me the details of the project</p>
<p>Hii. Its really Awesome..!<br>can i know where can i get the whole material and coding of the glove and total investment for each kit?<br><br>i want to make a workshop over it to my students.</p>
<p>Is there a code for the circuits? </p>
where i can get that mechanical part of hand...coz i dont have 3d printer..
where i can get that mechanical part of hand...coz i dont have 3d printer..
<p>My MG946R servos overheated and burned out. Any ways I can fix it?</p>
I made this to test the strength of my servo motors before putting them on a prosthetic hand. Thanks it's a huge help.

About This Instructable




Bio: I'm just a student who likes making things. And what's the point of making something if you're the only one who knows ...
More by dschurman:DIY LED Illuminated Trekking Pole Flashlight DIY "Anything" Staples Easy Button (voice recording) DIY Robotic Hand Controlled by a Glove and Arduino 
Add instructable to: