Wireless Motion-Sensing Gaming Glove for the Commodore 64

About:

Photo by Nico CloneMy latest project is a wireless motion-sensing gaming glove for the C64.  It's akin to the ill-fated Nintendo Power Glove, but people who have tested this one claims it sucks less!

The sensor on the glove is based on the SoMo by SonicWear, a wearable Arduino-compatible device that is intended for creating interactive dance and music performance.  SoMo contains a 9-DOF accelerometer/gyro/magnetometer, microprocessor, battery, and XBee transmitter and receiver pair. Since it's Arduino-compatible, it can easily be reprogrammed for custom applications.

To turn it into a gaming device, we had to do a few things:

    ■ Reprogram the XBees to use "I/O Line Passing" mode instead of Serial mode.

    ■ Add two extras I/O connections between the microprocessor and XBee. (Thanks Eric from hacklab.to for doing this part!)

    ■ Wire in a fire button, using conductive fabric between the thumb and forefinger.

    ■ Interface the receiving XBee to the C64 Joystick port.

    ■ Reprogram the microprocessor to sense tilt in the X and Z axis, and instead of generating MIDI, toggle outputs connected to the XBee.

If you want to see the glove in action or try it yourself, come check out my display at the World of Commodore 2013, December 7th in Toronto!



Video #1:

Here's a short Vine showing the glove in action, at the Vintage Computer Festival Midwest / Emergency Chicagoland Commodore Convention 2013 (Thanks Robin Harbron):





Video #2:

Here's a longer video of my talk at VCFMW 2013 with more technical detail.  I also use the glove to control GEOS!

Hardware:

I don't consider myself a hardware expert by any means, so this has been quite a learning experience.   Fortunately, SoMo already provides the IMU interface over I2C, so all I had to do on that end was add two extra I/O jumpers from the microprocessor to the XBee (thanks again Eric) to get a total of five outputs (up/down/left/right/fire).

I then connected up one of the SoMo's inputs to conductive fabric on the glove's thumb and forefinger to act as a fire button.  It's all held on with a vectro strap and some super glue.  The glove itself just came from a shop in Toronto's Chinatown.

On the C64 side, the receiving XBee is powered off the 5V line at the joystick port.  I'm using an 74LS05 hex inverter to "emulate" a joystick.  The 74LS05 is ideal for this because it has  open-collector outputs - meaning that when the output is off, it's neither high or low - it simply disconnects.   When it's low, it pulls the output pin to ground - just like a joystick.

Block Diagram:

glove_block.png

Code:

The code is available on GitHub.

Future Plans:

I am planning on making more!  If you're interested in one, please email me so I can gauge the interest.  If there is enough interest, I'll look into something like Kickstarter to fund a more serious production run, with custom circuit boards, a better glove, and so on.

It should work on any retro machine from the 80's with the 9-pin D-Sub connector (VIC 20, Atari 2600, etc).

Back to Leif's Commodore Page