Picture of Wirelessly Controlled Robotic Hand

This is my school project for the 5th year of high school (I'm Italian, we have 5 years of high school).

It consists in an artificial hand controlled by a glove with flex sensors. The artificial hand reproduces the movements of the hand with the control glove, wirelessly. The hand and the glove works both with Arduino.

I just wanted to share my work for everyone interested :)

This guide is still in development, sorry if some parts are not clear, I'll put some 3D images in future.

I'm sharing something about my project on my facebook page:

Remove these adsRemove these ads by Signing Up

Step 1: Materials needed

Picture of Materials needed

I bought almost everything from, they have fair prices (I don't mean to advertise!)

Total cost: ABOUT 160$

The materials needed for the control glove are:

  • an elastic glove;
  • LilyPad Arduino board (there are different versions, which usually only have 4 analog inputs, so pay attention and buy the one in the image): it works exactly like the classic Arduino UNO, so you can use even an Arduino Nano, but pay attention to the voltage needed;
  • XBee module: for the radio communication;
  • Shield to connect the Xbee module;
  • 5 Flex sensors;
  • 5 resistors: 47 KΩ;
  • battery pack with 3x1.5 V batteries (Lilypad can be powered from 2.7 to 5.5 V, so 4.5 V it's ok);
  • LilyPad FTDI adapter: to connect the LilyPad board to the PC and load programs with the Arduino IDE (quite optional, because you can use also the Arduino UNO board removing the ATmega chip, but it's tricky to make this kind of connection every time).


The materials needed for the robotic hand are:

  • a steel structure for the palm of the hand and wood for the fingers;
  • Arduino UNO board;
  • XBee module;
  • 5 servomotors 5V powered (I used TowerPro SG90);
  • a servomotor shield for Arduino UNO: to connect the servomotors I used the Robot_Shield from FuturaElettronica, which has also a switching regulator to power the entire circuit, but you can use any shield made for controlling servomotors. Link:;
  • Shield to connect the XBee module (I made an horrible one, but it's economic and I needed to make one small because of the size of the Robot_Shield);
  • fishing wires;
  • fihing sinkers (to secure the fishing wire);
  • 9 V Battery.


Tools needed:

  • angle grinder (mainly to cut wood and steel);
  • axial grinder;
  • welding machine (with electrodes);
  • drill;
  • soldering station and solder;
  • electrician's scissors;
  • pliers;
  • heat shrink tubing.

Step 2: Making the glove

Picture of Making the glove
DSC_1205 - Copia.JPG

To make the control glove I suggest first to choose the right position of the different components, then connect everything with the proper length of wire.

To make an analog read with Arduino LilyPad you need to make a voltage divider, since that flex sensors don't work like potentiometers (they have only 2 contacts).

So following the scheme, first solder the 5 resistor on the LilyPad board, one side to the 5 different Analog pins, the other in common to the ground. Then solder the flex sensors, one side to the 5 different Analog pins and the other in common to the positive.

Then connect the XBee Shield: two wires for the power, the oter two for the signal. Solder the Tx pin to the Rx and vice versa.

Now you need the battery pack, and the glove it's done.

BE CAREFUL: don't power the Arduino LilyPad over 5.5 V and don't power it conversely (even if sometimes I did it by mistake... And it still works!)

Step 3: Making the Robotic Hand

Picture of Making the Robotic Hand
DSC_0345 - Copia.JPG

This is the most complicated part, because you have to choose the proper materials to make the hand, but it can be also easy if you have the possibility to 3D print the hand (there are many different 3D projects on the web for printing hand parts).

I started making the fingers with cork, to find the proper structure for the movements, then I made it with a branch.

So make three wooden cylinder per finger, two of them with 1 cm over the normal lenght of your phalanx, needed to fit one piece into another.

Then with an angle grinder make the grooves to make the pieces fit together (see the images, you'll understand better).

You'll need some sandpaper to make the pieces curved, so that they can rotate.

Use a drill to make the holes for the hinge, then you have to make other two holes for the fishing wire, vertically, one towards the inside of the hand and one outwards. So when the wires are set at the top of the finger, when you pull the one inwardsthe finger will close, and when you pull the one outwards the finger will open.

The palm was problematic, beacuse I made it initially with wood and the thinner parts always broke. So I decided to make it of steel and I've had no problems.

Cut it and do some protrusions similar to those made for the fingers to fix them to the palm (see the images as a reference). Then use the drill to make the other holes for the fishing wire, the thumb will be tricky because it's not vertical as the ther fingers.

Afer making the hand, you need to make a support for the five servomotors and a support for the Arduino UNO boards. Be sure to choose the right position of the servos, so they don't touch each other while rotating.

The last part consists in connecting the fingers to the servomotors: fix the fishing wires at the top of the finger and make them pass through the holes; then, when the wires are at the bottom of the hand, turn the rotor (manually, without powering it) at his maximum rotation (180°) so that it's in a vertical position, then set the wire that closes the finger to the lowest hole of the rotor, for example making a knot; turn again the rotor at 0° (it's again vertical and the knot made before is at the top) then set the other wire (wich opens the finger) to the lowest hole of the rotor. Follow the last image in this step to understand better.

So, when the motor is at 0° (vertical) the finger is opened and when the rotor is at 180° (vertical again) the finger is closed.

Step 4: Circuit of the Robotic Hand

IMG_20140618_192959 - Copia.jpg

For the circuit, you can choose to use a servomotor shield for Arduino UNO (search on eBay or Amazon) with a XBee shield, or make a custom shield (I'll make one as soon as possible) with the XBee Module and the pins for the servomotors, and power the Arduino UNO by its jack port.

So I used what I had already bought before, but you can use everything that let you control the servomotors and the XBee.

The servomotors have 3 wires:

  • yellow: signal (connect to a digital pin);
  • red: power (+5 V);
  • brown: ground (GND).

So now you won't make mistakes :)

I used the simplest type of servomotor, working at 5 V, with a rotary angle of 180 degrees (that's the perfect angle, we don't need more).

The USB ports of a computer can't give anough power to control 5 servomotors, so I suggest to use a 12V power supply to test everything and then use the 9V battery (Alkaline are preferred).

Step 5: The programs

The program of the hand and the glove, with all description, are in links below.

REMEMBER: to load the program you have to remove everything connected to the TX and RX pins of the Arduino (in this case the XBee module), else the program won't load. Remember also to set the correct kind of Arduino in the IDE (LilyPad or Arduino UNO).

Links for the two codes:

1-40 of 144Next »







mlvazq8 days ago

Hi, I saw your project, and it's so interesting, I'm working in a glove with the flex sensor but I use Xbee pro S1, I have problems with the communication, I use 2 arduino UNO like transmitter and receiver, I read the analogic voltage of the sensor and send them with the xbee module but in the serial monitor I can't watch my data that arduino receive, how do you do to read many data of the serial port of Arduino UNO?

I hope your answer, You'd help me so much

jlc21619 days ago
Hi Gabri could you please show a picture or how your glove looks now?
nah8911 days ago

Is the prupose of the arduino in the circut for controling the hand to bascially intrpert the signal from the xbee?

Gabry295 (author)  nah8910 days ago

The Arduino LilyPad on the glove take the voltage analogic signal from the sensors and send them via the XBee module; the Arduino UNO on the robotic hand receive the signals via the XBee receiver module and use them to control the motor. Hope I answered exhaustively, anyway ask me for any other questions! :)

could you please show the shield for the xbee which you mentioned earlier.

bcuz it looks almost like lilypad.also tell where to buy it

Gabry295 (author)  robotics master14 days ago
I bought it from :)
jlc216114 days ago
hi i like this project so i decided to build it myself the problem im facing at the moment is with the servos. They start to twitch, when i try it with one flex sensor and one servo they do work but the servo twitches. here are some pictures(also i used a 47k ohms i change it to 5k ohms as soon as i saw the video that is supposed to be 4.7k ohms)
I need help with understanding why do the servos twitch when i try to use them also when i try to add the 4 remainder servos they start twitchin like crazy ans then come to a stop.
Please if anyone is facing this problem i would highly appreciate some help.


thanks and this is one of the project in intructables

neena.mazhar2 months ago

Can you upload the basic block diagram of overall project ?

Gabry295 (author)  neena.mazhar21 days ago

Sorry for the delay :/ I made this quickly, I don't have so much time to make something better on computer

Dal link di futura elettronica credo tu sia italiano ahahah
Comunque, a quanto ammonta la spesa in euro??
Gabry295 (author)  mario.malizia.33221 days ago

Ciao! Sì sono italiano :) Scusa il ritardo di risposta, ho speso in totale circa 160€, escluso il materiale per la mano (metallo e legno).

Hello Gabry, how are you? I hope fine... I was testing the the robotic hand and sometimes the incoming value from the servos goes to 255. I jump them exactly the same as you did using "if"...but it still not working...Did you have this kind of problem as well?

Gabry295 (author)  123mechatronic21 days ago

Hi, everything ok, even if after some exposition of the hand I have to make some fixes :)

So you have that problem too :/ Instead I don't have problems using the "if", it works correctly excluding that value... I can't find out why I get that value!

anyone PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE answer my doubts(i am complete novice). many lilypads do we need?

2.please give me an image of the servomotor shield YOU COMPLETELY RECCOMEND.


Gabry295 (author)  robotics master21 days ago

Hi, you need only one LilyPad, I know it seems that there are two but the second round board is the shield for the XBee module.

The motor shield I suggest is the Robot_Shield, I think you can buy it here:

Ask me if you still have any questions :)

psycho.maggot2 months ago

what is another servomotor shield than Robot_Shield from FuturaElettronica?.. its difficult in my country to find this robot shield.

could i using this shield?.

Gabry295 (author)  psycho.maggot2 months ago

I think those are ok, but pay attention to the pins used, because pins 0 and 1 (Rx and Tx) are necessary to use the XBee module, and if those shields need pins 0 and 1 to control the motors it interfere with the transmission of datas by XBees... Unfortunately it's a limitation of Arduino, but if you take a look to the datasheets or ask distributors for informations, you can check if those two pins are used or not. I couldn't manage to find by the datasheet if pins 0 and 1 are not used :/

thanks for replying me, did the Robot_Shield from FuturaElettronica have a clone?.. like DFRduino Uno R3 was clone of Arduino uno..

Gabry295 (author)  psycho.maggot2 months ago

I didn't find any clone on the Internet... You can try to make the same circuit from the Robot_Shield guide here:

I know it's in Italian, but I think the pictures of the circuit and the values of the components are enough to make the same circuit.

If you think that's too complicated then I suggest one of those shield you showed me.

Last thing, if you really want to save money you can make a circuit only with connections for the servos. The important part of the Robot_Shield is the switching regulator, which manage better the power source than the linear adapter inside Arduino UNO, so batteries can last longer. But it need other components to work properly, so you can try to re-make it as I said before, or else make a circuit without the regulator, it's very simple, but not so efficient: one single line for 5V, one for the GND, and the other for the signal which are separated. I don't have much time at the moment, but if you are more interested in this solution than the other I can try to make this circuit.

sent the circuit to this skype.jo13@gmaildotcom

thank you, i'm gladly reading your explanations, and its more cheaper by making that by hand rather than buying, ok sent me the circuit.

mhutomop2 months ago

Hi, awesome project! But i don't get it, when my hand is opened, it will give '180' to the servos right? So, the robotic hand will be closed, but it is supposed to be opened right?

psycho.maggot2 months ago

So you are using to xbee module right?,, one for reciever and other for transmitter.. oh ya is this right xbee module that you use?. open the web,

Gabry295 (author)  psycho.maggot2 months ago

That's right! I used the trace antenna version

but you are using 2 trace antenna version right?

it was a great effort that you have put in this project but i want to know that what are the wide spread applications of this wireless hand apart from that you showed in the video?

do reply pls!!

Gabry295 (author)  tusharsachdeva2 months ago

My main goal was to make something near the prosthetic field, with robotics applied :)

What I made is just a "prototype", since that you need a glove to control the robotic hand and not other type of sensors like myoelectric sensor.

I also thought about the realization of robots similar to human, or machines that can use human tools.

i've idea, could this prototype applying in laboratorium such as nuclear lab, so the human hand what cannot touch due to the high radiation can be touching the high radiation things in lab. are you agree with this?. oh yah almost forgot, in, could this prototype used to help in medical equipment?.. reply please.

Gabry295 (author)  psycho.maggot2 months ago

I think it could be possible, but I don't know if radiations could make interferences between the XBee radio modules.

Probably better for medical equipment, but you'd need sure something more precise in movements :)

thank you for replying me, i want to build this one. but i still confuse for the purpose, you right it is better for medical equipment because more helping people out there, specially in my country.

mason101985 months ago

This this is awesome! I'm planning on starting on one myself but I just don't have the time or resources to make the actual 'hand' part. Are there any places I can get one already made? 3d printed maybe? If you could point me to a site that would be great! Thanks!

seems this one will help you.

the maker using 3D printed object.

Gabry295 (author)  mason101985 months ago

Hi mason, at the moment I don't have enough experience in the world of the 3D printing, I can only suggest you to search about "3D printed hand" and see what interest you more.

Searching on google I found some sites:

I hope you will find a way :)

I have good news and bad news!!! The good news is that the codes seem to be working. I hooked up my glove to the arduino serial monitor and ran the test code you posted Gabry for Mason, and all of the values changed accordingly. The Hand also showed that it was recieving information. However, i still had issues with communication......or so i thought. I noticed that when i had the arduino uno and robot shield(the same one as yours) powered up with USB the servos acted better than when i hooked them up to the 9v battery. So i took off 4 of the 5 servos from the Robot shield and just like magic, the servo operated beautifully when i moved my thumb. As i added servos they started acting really strange and performing on their own. i was able to get three of the 5 servos to work. (when i say work, i mean operate with thumb, index, and middle finger as it's supposed to). But i had the Arduino Uno powered by a power supply at 5.5v and 2.5amps. It appears that i might be having a current issue. or perhaps some servos that are drawing too much current. The Power supply would act like it had a short in the circuit when i added more and more servos. I am really wondering if the servos are junk. Im gonna do some meter testing on the terminals of the robot shield and keep you posted. Do you mind sharing Gabry what kind of servos you used? While doing some testing with a power supply i seemed to have burned up two of the servos i bought.

Gabry295 (author)  tiguety.potter3 months ago

Hi, I had your problem with the servos too, because I expect to get the Arduino woriking with the 5 servos and only with the 5V of my PC, and it worked only with one servo. Then I tried with a 12V power supply (by the 12V jack in the Arduino UNO) and the servos moved perfectly. Since I wanted to make the hand working only by batteries I tried different solutions, for example with 4 AAA battery (4 x 1.5V) and in the end I found out that with a 9V battery everything worked perfectly. I don't know, but if you power the Arduino board with the 9V battery by its jack (so the Arduino circuit convert itself that voltage to 5V) probably it can get less energy than by powering 9V to the robot shield (as I've done).

I used TowerPro SG90 servomotors, bought from eBay.

In conclusion, if you don't have the robot shield that I used and you only power the Arduino board by its jack, try to power with 12V. As soon as possible I'll check how much current requires my servos when everything's working.

gotcha, I'm gonna field test a lil tonight and let you know my results. I think that my servos I'm using are requiring more current than a 9v can generate. I might change them or figure out the current issue and possibly have 2 power supplies
Gabry295 (author)  tiguety.potter3 months ago

Another thing! Not all 9V batteries are appropriate for this project: I used "Duracell ultra power" but also a normal type Energizer battery and both work properly. I remember that I tried to use a 9V battery of a different type, I think it was a "Kodak", and it couldn't give enough power like the 9V battery I used before, just like you say. Which kind of 9V battery are you using?

seems like the servos need more power to operate perfectly.

1-40 of 144Next »