Skip to content

Nintendo Power Glove for VR

The Power Glove was Nintendo’s first foray into motion-controlled gaming. But the product produced by Mattel was ahead of its time; gaming systems of the early 90s were not able to render 3D graphics or even accommodate analog control inputs. In the current era of AR/VR development, the Power Glove’s true potential is showcased by other, modern VR glove products. However, none of these products have the same “retro-cool” factor, and with used Power Gloves available cheaply on eBay, they provide a readymade DIY solution for VR hand tracking. So we decided to bring this classic back to life by making it compatible with the HTC Vive VR system.

The Power Glove’s true potential can be unlocked by integrating it with modern VR hardware.

So what can you do with this? For starters, simple hand gesture recognition is pretty easy with the available data. We rigged up a hand model to respond to the sensor data of the Power Glove and it works pretty well. Inspired by the original branding of the Power Glove, we made a demo in which you can shoot lightning once you make a fist; because, you know, “everything else is child’s play.”

Digital Hand mirroring movements of the Power Glove — and also shooting lightning

A recurring frustration we’ve had whenever we’ve prototyped in VR has been designing on-screen interface interactions. The Vive controller just isn’t a great tool for touch interactions. With the Power Glove and a second tracker mounted to the backside of an acrylic iPad, we were able to simulate more natural interactions with an iPad in VR, which we utilized to make an AR tablet application (Insert Inception soundtrack here). We tested this with the Vive controller and the Power Glove and the overall experience improves dramatically when using the glove. The acrylic iPad even provides the same haptic feedback as a tablet would.

The Power Glove and a tablet mock-up with a tracker allow for better on-screen UX prototyping in VR

Recently, we started creating a game that takes advantage of the Power Glove’s capabilities. In the game, rocks, papers, and scissors come flying at the player who has to shoot them with the correct countermeasure by forming their hand into the right shape and aiming at the oncoming targets. The game is still in an early stage, but it’s already a lot of fun to play!

 Using hand-gesture recognition to play a new take on rock-paper-scissors.

We have a couple of things we’d like to figure out in the future. The acrylic iPad mock-up can play some tricks on the tracking and we are hoping to get better results with polycarbonate. The Vive tracker currently allows for only 3 analog values to be sent, which introduces a little lag because it forces us to alternate the middle- and ring-finger values. We would love to change the Arduino Due for something smaller and cheaper; however, it is currently the only Arduino board that supports the library for communicating with the Vive tracker.

It’s exciting to see the interactions and affordances that even limited hand tracking brings to VR.

This project was a quick way for us to learn about the Vive tracker, hand-tracking, and explore some simple interaction paradigms for VR. It’s interesting to see the affordances that hand tracking brings to VR interactions and what still needs improvement. Holding virtual objects, touching mock-up screens, and pointing at things just feels a lot better when using the dexterity of one’s fingers instead of trying to use a fixed wand. At the same time, small discrepancies between the hand and its virtual model can cause irritation, especially when interacting with other physical devices, like in the tablet application. Overall, we are pretty happy with the early results and are looking forward to putting the glove to use in some future projects.

Steps we took to modify the Power Glove to work with the HTC Vive VR system

A little bit making-of:
We took a Power Glove apart, 3D scanned the interfacing plastic parts and built modified parts that hold the Vive Tracker and an Arduino Due on the glove. After some prototyping on a breadboard, we designed a shield for the Due and etched it using the laser-cutter transfer technique. We then soldered all components and spray-painted the whole shield to protect the bare copper. After mounting the tracker and tweaking the code by matzmann666, we had the glove work. If you are more curious or want to reproduce this, we uploaded all of our files on GitHub.

12 Comments

  1. JasonG JasonG

    Very impressive. Please make a kickstarter campaign and market these. I can’t stand controllers any more and have developed trigger finger. Thanks.

  2. […] technology available today has allowed the researchers at Teague Labs to give new life and purpose to the Power Glove. By adding a HTC Vive Tracker and some retrofitted […]

  3. cyberdenss cyberdenss

    Where can I download the project files? Application of Unity arm?

  4. den den

    Hello
    i need download hand program unity ?

  5. cyberdenss cyberdenss

    Hello!
    Where can I download the source code of the Unity or Unreal demo application. which module is used to integrate gloves with Unity or Unreal programs.

    Thanks

  6. Mholcer Mholcer

    Hi cyberdenss,
    We’re happy you liked the project! In the linked GitHub repository you will find a “PowerGlove_vive.ino” file. The program reads the analog values of the bending sensors in the Power Glove and communicates to the Vive Tracker as the trigger position, touchpad X position and touchpad Y position. Even thought Vive tracker doesn’t have a physical trigger and touchpad, it can still send these values to unity. Since only three analog values can be transmitted via the tracker, the middle and ring finger values are alternated over time. In Unity you need to assign these values to transforms of your hand model as you would do with regular Vive controller. Good luck!

  7. cyberdenss cyberdenss

    Hello . Is the vive tracker connected to Arduino via the usb port? The video shows that it tracks all five fingers of the hand, but only 4 sensors are involved in the circuit. I could not contact the author of the library .. how to implement the transfer of 5 analog data sensors?

Leave a Reply

Your email address will not be published. Required fields are marked *

WordPress Anti-Spam by WP-SpamShield