Introduction: Hacking a Powerglove

Picture of Hacking a Powerglove

First of all lets get this out of the way... It's so bad 

This is going to be showing how to hack the Nintendo Powerglove. By hack I mean tap into the flex sensors and use the buttons and d pad and add anything you want. In my case I added an accelerometer.  

I got mine from Ebay for around $40. These gloves have 4 flex sensors similar to these: http://www.sparkfun.com/products/8606
Now these are $12 a piece, it's way cheaper to buy a Powerglove for 4 sensors and get a bunch of other awesome things then buy 4 of these.

Step 1: Materials

Picture of Materials

Materials:
Screwdriver
Wire
microcontroller (i used Arduino)
USB cable
4 - 10k resistors 

Optional:
ABS sheets
Nuts and bolts
Accelerometer or whatever sensor 
Xbee with shield
9v Battery

I also have an Ardumoto shield with a vibrating motor for a feedback system

Step 2: Take It Apart

Picture of Take It Apart

This is kind of tricky if you don't know where the screws are. Don't loose them either! 

Just fallow the pictures:

Step 3: Flex Sensors

Picture of Flex Sensors

Now its time to tap into the flex sensors. Flex sensors are variable resistors which mean the more you flex the more the resistance. You can then read that and map that value to anything you want. There are two wires coming from each sensors so we have 8 wires.

This website shows a good wiring diagram and explanation for it all: http://www.makingthings.com/teleo/teleo/cookbook/bendsensor.htm

We want to open up the palm to expose the board. Once we have that find where the sensors attach to the board. There will be 4 diodes by there. We are going to desolder the diodes and replace those with the 10k resistors. We will be attaching the positive to one of the two wires of each sensor. We well then attach ground to the resistors and attach wires from the second sensor wire. Pictures will help explain this a lot better.

Step 4: Attach Arduino (optional)

Picture of Attach Arduino (optional)

I made a custom extension coming off the glove to hold the arduino. I did this with an ABS sheet and a heat gun. Pretty much heat it up and form it around your arm to get the shape. Then drill holes and attach to the glove with some nuts and bolts. I also made a custom 9v battery holder out of this stuff too.

Step 5: Wire Management

Picture of Wire Management

I tried to make this look as nice as I could. What I did was run the wires from the palm board to the forearm board then out of that to the arduino. This worked the best for me and it was easy.

 

Step 6: Buttons [Extra]

Picture of Buttons [Extra]

I haven't tapped into the buttons yet but its just like any other button. Two wires and an on or off signal. There are plenty of tutorials out there for buttons with arduino. D-pad is the same way, Just four buttons.

Step 7: Code

Picture of Code

All the code is is just analog read. From here you can map it to whatever to control servos or whatever you want

int Finger1 = 2;
int Finger2 = 3;
int Finger3 = 4;
int Finger4 = 5;
int Rotation =  0;

void setup()
{
  Serial.begin(9600);
}

void loop()
{   
   int FingerV1 = analogRead(Finger1);
   int FingerV2 = analogRead(Finger2);
   int FingerV3 = analogRead(Finger3);
   int FingerV4 = analogRead(Finger4);
   int RotationV1 = analogRead(Rotation);
  
   if (FingerV1 < 30) FingerV1 = 30;
   else if (FingerV1 > 80) FingerV1 = 80;
  
   if (FingerV2 < 45) FingerV2 = 45;
   else if (FingerV2 > 69) FingerV2 = 69;
  
   if (FingerV3 < 22) FingerV3 = 22;
   else if (FingerV3 > 87) FingerV3 = 87;
  
   if (FingerV4 < 12) FingerV4 = 12;
   else if (FingerV4 > 62) FingerV4 = 62;
  
   if (RotationV1 < 300) RotationV1 = 300;
   else if (RotationV1 > 600) RotationV1 = 600;
 
   int middle = map(FingerV1,30, 80, 0, 255);//middle
   int thumb = map(FingerV2,69, 45, 0, 100);//thumb
   int ring = map(FingerV3,87, 22, 0, 255);//ring
   int pointer = map(FingerV4,12, 62, 0, 255);//pointer
   int rotation = map(RotationV1,300, 600, 0, 255);//Rotation
  
   Serial.println(middle);
   Serial.println(thumb);
   Serial.println(ring);
   Serial.println(pointer);
   Serial.println(rotation);
  
   delay(10);
}

Comments

agis68 (author)2012-02-12

it's beautiful but what it does really?

njkl44 (author)agis682012-02-12

Well its really up to you! i use it to control a 3d printed robotic hand that i made, when i move my hand the hand mimics my movements.

ahudak1 (author)njkl442017-05-03

Do you have an updated version of this or the entire project on a website?

Spaceman Spiff (author)njkl442012-02-22

That's cool! You should post that to this instructable. I'm sure we'd all like to see it in action.

agis68 (author)njkl442012-02-13

cool.....then bravo

ahudak1 (author)2013-04-08

Im doing the same project for my robotics class basically. Out of curiosity, why does the code not include the pinky finger or is it replaced with the "Rotation" int?

TheQuadroon (author)ahudak12017-04-11

Little late, but the pinky has no read because there is no sensor.

akb515 (author)ahudak12016-05-28

In the Nintendo Powerglove, there are only 4 flex fingers for the fingers, all the fingers except for the pinky, so there are no values for that finger

Spaceman Spiff (author)2012-02-22

I foresee arduino controlled avatar robots in your future! Ha Ha, nice instructable!

agis68 (author)Spaceman Spiff2012-02-22

you need a lot of reading and practicing....try to get the get starting with arduino book.....and also be in touche with the mama page http://www.arduino.cc/

after that Internet has a huge collection of projects and also we are always here!...
Start by doing small thing....make a led flash.....You need to learn also C or C++

Spaceman Spiff (author)agis682012-02-23

Yeah, that was a great book, I also recommend checking out these sites and blogs.  I'm currently reading "getting started with the internet of things."  I'm learning a ton about communicating with the internet which has been a great help on one of my current arduino projects.  I gotta be honest I'm not the best coder, but arduino has helped.

Pratik Shinde (author)2012-02-17

Its Awesome dude.Plz help me to start with Aurdino.

njkl44 (author)Pratik Shinde2012-02-19

Thank you! Ask away with any questions you have

MissMegumi (author)2012-02-15

NOW you're playing with Power! (Sorry, couldn't resist.) ^_^

oodinaka (author)2012-02-13

It's lovely and more improving but what is gallantry? what will be the positive force of it.

Penolopy Bulnick (author)2012-02-08

I have only ever seen a Powerglove in that movie! So awesome!

The Wizard?

Yes!!!

jhefren (author)2012-02-12

Hello everyone
This glove turns out to be obsolete it is better to replace it by an ipod, galaxy s or sony xperia. its much better

agittins (author)jhefren2012-02-12

Hehe.. the glove was obsoleted decades ago - that's one thing that makes it so cool! As for the other devices you mentioned, no doubt the accelerometers make it easy for overall hand position/movement but how would you sense finger positions? I think it's the hand-gesture/finger posture sensing (as well as outright retro-street-cred) that makes this stand out.

njkl44 (author)agittins2012-02-12

with the glove you can get finger positions. It has 4 flex sensors that act as potentiometers so you can turn that into an angle or whatever you want and from there you can control really anything. The glove is awesome though! seeing all those ancient one sided boards is the best haha.

MauiJerry (author)2012-02-12

Cool to see the power glove again! I got two around here somewhere. Back in 1993 or so several of us on the proto-nets hacked it to work with a primitive 3d rendering application called REND386.

We also hacked it so two gloves could work on same system and shake hands. Then we merged it with a modem app and virtually shook hands across the country.

Accessing the controller on the wrist would also be fun.

waterlubber (author)2012-02-11

AWESOME!!! HOPE YOU WIN ARDUINO CHALLENGE!!!

njkl44 (author)waterlubber2012-02-11

Thank you! i hope i do too :) keep voting and pass it along

hackalack (author)2012-02-09

This hack is.......so bad.
Haha, sorry I had to. But really this is awesome.
What did you end up controlling with these mapped values?

njkl44 (author)hackalack2012-02-10

Right now im using it to control a 3d printed robotic hand that i made. I might be making an intructables for that soon

hackalack (author)njkl442012-02-10

Totally cool. Right now I got a hold of some arduino code that decodes the signal from a wii nunchuck and I'm in the process of using that to control some DC motors on a robot, plus a few servos. Fun stuff.

PinkEle (author)2012-02-09

Cool glove man.

About This Instructable

48,704views

117favorites

License:

More by njkl44:Hacking a PowergloveArduino Wireless Animatronic Hand
Add instructable to: