Sunday, January 27, 2013

Wiimote controller extension

I would like to use a nice controller on my Wii for those more complex games, but a Classic Controller is still  expensive.

As there are some old controllers around the house why not trying to use them through an Arduino?

Wiimote has a proprietary connector, so it's better to use the cable from a broken or fake controller extension (like nunchuck). I bought one from ebay for about $3. It's wires are very thin and hard to solder, but I'm hoping they will suffice.

I opened the connector to try to replace the wires for thicker ones, but they are well stuck inside the connector, so I decided not to risk breaking it.

There is a lot of documentation on how to hack most of the capabilities of this controller (and they are a lot!), but even then it can be frustrating to a newbie like me to get it working.

I found a cool sample on but it was outdated I wouldn't compile on Arduino 1.0 IDE.
So I did some modifications that I keep in my own repo (all my documentation is on the code).

As a test I used the Genesis controller I wrote about in the previous post.
The code for using both in the same Arduino is in this branch.

All I've done for now was a very crude attempt to prove functionality.

Next I'm thinking of a more permanent solution with power saving in mind. Also I would like to use other kinds of controller.

Genesis controller on Arduino

I found an old Genesis controller on a flea market and I though of reusing it for future projects.

Its pinout is well documented (pinout) and it's easy to use with an Arduino.

Here's my GitHub stored simple example on how to communicate with it (with documentation):
Sample Code