Arduino Wireless Animatronic Hand




BTW!!!!! This instructable is awsomeeeeee

This is a very simple but at the same time a very hard project depending on your skill level. Lets get to building!

What this is, is a wireless animatronic hand that doesn't need a computer to operate. The user wears a control glove and can control the animatronic hand precisely. Bellow are some pictures of the final product:

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Video

Step 2: Control Glove

Arduino w/ ATMEGA 328
Xbee w/ Shield
5 Flex sensors
Hook up wire
Custom PCB making tools
(5) 10k resistors

1. Power both of the Arduinos to make sure they operate correctly.
2. Assemble the Xbee radio shields.
3. Connect the Xbee shields to the Arduino by placing on top of the Arduino.
4. Connect the Xbee’s to the shields and connect them via USB.
5. Take the ATMEGA328 chip off the Arduino so there is a direct link between the computer and the Xbee radio.
6. Configure them in XCTU (default settings will work).
7. From here i built my own PCB (I'm not going to touch on how to do that, there are other very good tutorial out there)  I used the data sheet for the sensors from this site, this is also where i got these sensors:

8.From here i put all the boards together and tested it out to see if everything worked (powered on).
9. I sewed the flex sensors onto the glove by poking a hole at top and running the string over and under the sensor so it can still freely move.
10. i built the arm band with some elastically and some STRONG double sided tape.

Step 3: Custom PCB (Glove)

So for the glove i made a custom PCB to connect to the arduino. This PCB is for the 5 flex sensors for arduino inputs. This is my first PCB so it wasn't by any means complex nor professional. I made this in EAGLE CAD and used the Sharpie Method.

Step 4: The Hand!

electrical wire tubes (
fishing tackle
electrical tape
5 servos
xbee w/ shield
arduino ATMEGA 328
exact o knife

This took the longest to build...

1. I researched hands and found a diagram where the joints are.
2. I then cut the joints with the exacto knife
3. I put all the fingers together without the thumb.
4. i put the four fingers together and reinforced them with legos
5. i taped the securely and put the thumb over those so it would have human like flex.
6. i taped the servos together filling the spaces with Styrofoam
7. i added all 5 servos to the hand with legos and tape
8. I built the circuit on a breadboard with just delivering power the servos and having the control wires into the Digital input on the arduino
9. i ran fishing tackle from the finger tip through the tube and anchored it onto the servo

Step 5: Hand PCB Shield

For the hand i am still in the process in building a pcb to take away the wires and reduce space. This time i am using to toner transfer method. I again made the schematic and board layout in EAGLE CAD. i used magazine paper to print onto. I engineered this to be used as a shield on the arduino.

Step 6: CODE!!!

The Very first thing you want to do is make sure your shield or xbee's are unplugged from the arduino. Or make sure the correct jumpers are the in the right place (in my case). I have written this code and if you do use it want credit.

This is the code for the sending Arduino:

int Finger1 = 0;
int Finger2 = 1;
int Finger3 = 2;
int Finger4 = 3;
int Finger5 = 4;

void setup()

void loop()
byte servoValue1;
byte servoValue2;
byte servoValue3;
byte servoValue4;
byte servoValue5;

int FingerV1 = analogRead(Finger1);
int FingerV2 = analogRead(Finger2);
int FingerV3 = analogRead(Finger3);
int FingerV4 = analogRead(Finger4);
int FingerV5 = analogRead(Finger5);

if (FingerV1 < 200) FingerV1 = 200;
else if (FingerV1 > 460) FingerV1 = 460;
if (FingerV2 < 200) FingerV2 = 200;
else if (FingerV2 > 460) FingerV2 = 460;
if (FingerV3 < 200) FingerV3 = 200;
else if (FingerV3 > 460) FingerV3 = 460;
if (FingerV4 < 200) FingerV4 = 200;
else if (FingerV4 > 460) FingerV4 = 460;
if (FingerV5 < 200) FingerV5 = 200;
else if (FingerV5 > 460) FingerV5 = 460;

byte servoVal1 = map(FingerV1,460, 200, 255, 0);
byte servoVal2 = map(FingerV2,460, 200, 255, 0);
byte servoVal3 = map(FingerV3,460, 200, 255, 0);
byte servoVal4 = map(FingerV4,460, 200, 255, 0);
byte servoVal5 = map(FingerV5,460, 200, 255, 0);



Here is the receiving:


Servo myservo1; // create servo object to control a servo
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;

void setup()

myservo1.attach(2); // attaches the servo on pin 9 to the servo object

void loop()
if(Serial.available() >=5)
byte servoAng1 =;
byte servoAng2 =;
byte servoAng3 =;
byte servoAng4 =;
byte servoAng5 =;

// Send the servo to the position read...  (note: you get to make this happen)

Step 7: How I Tested This

I did do this for science fair!

Here is some of my work for it:

So pretty much what i did was take a HD video at 60 fps to get high resolution skills.i came up with three positions to test, fully extended, half extended and unextended. From here i went into geometers sketchpad and found the angle of each finger at each position for both hands. From here i was able to compare a real hand to my animatronic hand.

Step 8: Results

Upon conductions of the experiment, using the variables finger, angle, sensor value and position, the fallowing results were produced. During the first test I measured the angle relationship between my finger and the corresponding finger on the animatronic hand. I found that the index finger, middle finger, ring finger, and pinky all had about the same sensor value from the flex sensors. The thumb on the other hand was limited in movement compared to the other fingers, and therefore the sensor data was in a smaller range. I then came up with three positions to test, fully extended, half extended, and unextended. From here I created a video of all my fingers at these different positions. I then analyzed the videos through the use of editing software and found the angle of each finger at each position.
I then conducted the same procedure for the animatronic hand, finding the angle of each finger at each position in the process. I found that at the fully extended position the relationship between my finger and the corresponding finger on the animatronic hand was about a 20° difference. At half extended the relationship was the closest at about a 10° difference. At unextended I noticed the most difference with my fingers bending almost 30° more than the animatronic hand. The thumb was the most consistent finger with only about 10° difference on all three tests. Overall, the comparison of my hand compared to the animatronic hand was greater than I thought. The position with the greatest difference was fully flexed. What all this means is that the animatronic hand has a relationship with my hand.

Step 9: Awards!!

A few weeks ago i attended the regional science fair in Durango Colorado. The first award i won was 1st place in the Air Force Engineering. The second award i won was a Davin chi award which qualified me for the state competition in Fort Colins. The best award i won qualified me to go to the international science fair in LA for a week, all expense paid, to be an official observer. So i pretty much go to LA for a week and get to check out the sweet project whether i do good at state or not.

Epilog Challenge

Participated in the
Epilog Challenge

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    119 Discussions

    Julie jenniy

    1 year ago on Step 6

    By replacing xbee by nrf24lo1 .. is this progrm run?


    4 years ago on Introduction

    hi! :) I made a model with help of this instructable and I won a competition......Thanks a lot NJKL44

    8 replies

    Reply 1 year ago

    if u have made it plz could u help me by sending me the rough daigram of connections at receiver side between arduino and motors.The connections which were done on the breadboard in the image or video of njkl44.


    Reply 1 year ago

    caand u send me the code

    aand xbee configuration


    Reply 2 years ago

    hi bro, could u email to me the coding?

    very interested in this and want to make it !

    i appreciate it if you can ! :)


    Reply 2 years ago

    Bro, we are also making this project would you please help us out it would be a great favour...My Gmail account


    Question 1 year ago on Introduction

    can u plzz send the connections at receiver side between arduino and motors.It is being difficult to understand the connections done on breadboard in the image aur video.plz if possible send it on my mail id i.e


    1 year ago


    my name is billy and i am from South Koea !

    i am so impressed with your project and it is great lucky for me to find your post!

    i am also struggling making the wireless robot hand ..

    i want to study how you code and apply it on my project..

    my e- mail address is

    i need your help for my project siriously... hope i can get your help


    1 year ago

    can u brief explain the connection

    xbee configuration

    program plz

    becoz i'm gonna to done this as my project so plz send


    2 years ago

    hi :) could you email the coding and circuit diagram please

    very interested in this and want to make it !

    i appreciate it if you can ! :)


    2 years ago

    pls send me the flowchart for transmitter and receiver code for mechanical hand and control glove at


    2 years ago

    How unique!


    3 years ago

    BTW my email address is


    3 years ago




    3 years ago

    Hi i was just wondering what arduino you used for you project

    thanks (:

    Ganesh Hosur

    3 years ago

    The Xbee is so exorbitantly priced...Is there any low price substitute for Xbee?