Let's Make Robots!

Wii Controller & Arduino i2C

I need to interface an Arduino with Nintendos Wii-Controller via i2C.

- has anyone had any experience?  or know of any links?

(i have already cracked the Nun-chuck and motionPlus units)Wiicontroller.jpg

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I got my computer talking to a wiimote over 3 bit parallel leds, but it seems rather crude if bi-directional communication can be done through the expansion port.  I can't seem to find any solid projects where people have done this.  I can't even find a good walk through for sending extension data to the pc.

I found this which looked somewhat promising..  http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1237099433  (which I guess is the grandfather of RobotFreak's link)

But a little draw back is its not an Arduino library, but apparently can be used if you compile it with avr studio and upload it manually with avrdude.


Gareth, did you try RobotFreak's link?  

Since your elves soldered the buttons and I don't need much data in the other direction - I'll try something simple.

Crazy.. this post is over a year old !



Kako has done some awesome work with the Wiimote I2C expansion port. Building his own expansions like a keyboard or a gyro.

Some background infos: It seems, that some of the Wiimote reports can be used for raw I2C input and output.

  • report 0x17 to start a I2C read.
  • report 0x21 to get back the I2C data (up to 16 Bytes)
  • report 0x16 for I2C write (up to 16 Bytes)
  • report 0x22 to get back the result of the I2C write transfer

Never tried it myself. Too many ideas, too less time ;-(

Posting this here so i dont forget wiimote/extension controller  and wiimote/libraries

Both links contain vast ammount of data relative to wii programming internals .

thanks , should make for a good christmas project

can i use the whole wiimote+ nunchuk to control a robot ? with out pulling it a part?

sorry should of made my own post rather than stealing yours

The Wii Nunchuck or Wii Motion Plus can be used without dis-com-boob-erating the sleek enclosures.

Basically all you need is an adaptor plug and i2c communications - its explained on the links below.

The Wiimote is a not so straight forward to access (well for me not) i2c principle is the same. 




If you have questions please reply on these links.

Hi Gareth,

I have done some investigation with the Wiimote, because I want to access the IR camera via I2C without removing it. The good thing is it works. The bad thing is it only works under restrictions.

First, I bought me a cheap Wiimote cable extension and cut it into 2 pieces. Doing so, i was able to insert my logic analizer as I2C sniffer between Wiimote and Wii nunchuk. To my surprise there was only garbage on the I2C lines when I start the Wiimote. Only when a bluetooth connectioon has been established, the I2C lines works and I can sniff the I2C signals without any problems.

Next I put an Arduino board between Wiimote and Nunchuk and could contact the Wii IR camera that way. But without the Wii Nunchuk no communication was possible. :-(

 Here is another example to use the Wiimote as Bluetooth adpater for an Arduino



Thanks RobotFreak,

I have been experimenting with a lazer distancing probe using the Wii camera (still in enclosure) as detector. (final set up is not completed yet)

Its possible to extract the info via Blue tooth and process on PC .... however i wish to make the whole thing Robot Friendly and cut out the middle man (PC).

The Library in the link contains some interesting routines ..... i have to dig deeper and see if can be applied. 

(if it contains a routine to extract the 4 IR XY positions then i will be a happy man)