Most tutorials about hooking up a Wii Nunchuk to an Arduino micro-controller say that Analog In pins 2, 3, 4 and 5 should be used. However, if you are using an Arduino Mega, this should be done differently. The Arduino Mega has dedicated I2C pins, which should be used to connect to the Wii Nunchuk instead. The following figure shows it should be done if you are using an Arduino Mega:

Note that this figure contains a WiiChuck adapter, but if you are using any other adapter, or even connecting directly to the Wii Nunchuk cord, it should be the same. If you are not using an adapter, the following figure shows how it can be connected directly to the controller (ignore pins in the middle):

In short, wiring should be as follows:
- Red wire: from + (VCC/power) to +3.3V (some tutorials say that +5V should be used, but this will reduce the controller life span)
- Black wire: from - (ground) to GND
- Yellow wire: from d (I2C data) to SDA (pin 20)
- Green wire: from c (I2C clock) to SCL (pin 21)
Further Resources:
- “WiiChuck” Wii Nunchuck Adapter Available – this page has a library for interfacing a Wii Nunchuk and shows where you can buy a WiiChuck adapter.
- Read Wii Nunchuck Data into Arduino – general guide on how to get data from a Wii Nunchuk using an Arduino.
- Improvements to Arduino Wii Nunchuck Connection – this page has a different library for interfacing the Wii Nunchuk and an interesting example using Processing.
Images Sources:
- Wii Nunchuk connector image taken from wiibrew.org.
- Wiring schema generated with Fritizing.