Wiimote fun!

So, in addition to various QA-style things, I’ve been messing with the remote from my shiny new Nintendo Wii1. Apparently, the Wiimote communicates with the Wii over a plain, unencrypted Bluetooth connection, which means you can pretty easily talk to it using the Linux bluetooth stack. Pressing 1+2 on the remote causes it to become discoverable – you can then do:

[wwoods@metroid wii]$ hcitool scan --flush
Scanning ...
        00:17:AB:29:7B:2A       Nintendo RVL-CNT-01

And there it is – my Wiimote!
The enterprising hackers at wiili.org are putting together a fairly comprehensive guide to communicating with the Wiimote. They’ve even got a working mouse driver for it! Unfortunately, that driver requires pybluez, which is not yet part of Fedora. So I’ve submitted it for review for Extras.

I also started writing my own python wiimote monitor, which is a bit cleaner than the wiili.org one (1/5 the size, actually). To work with the pointing functionality (which uses the IR camera at the front of the wiimote), I built a substitute sensor bar with $5 worth of parts from Radio Shack:
Wii sensorbar

Amazingly, it actually works. Next we’ll see if I can learn enough pygtk to show the button status/accelerometer force/pointer position in a graphical format, rather than:
........... force=( -2, 0, 0) dots=(( 278, 515),( 699, 482))

1After weeks of trying to get a Wii, someone at my wife’s office mentioned they had an extra on the company email list. She ran out of a meeting to get it.
I knew there was a reason I married that girl.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s