USB Gamepad Using Wii Classic Controller and Arduino Leonardo

Introduction: USB Gamepad Using Wii Classic Controller and Arduino Leonardo

If you have a Wii Classic Controller and a free Arduino Leonardo, with some wires you can turn them to a USB Gamepad within 15 minutes.

I've tried this on both Windows 10 and 'Raspberry Pi's RetroPie gaming machine'.

This guide assumes that you're familiar with Arduino IDE, you've already known how to install Arduino libraries.

So let's start! :)

Step 1: Hardware Connections

First of all we need to connect the Wii Classic Controller to Arduino Leonardo using Two Wires (and 2 more for 3.3V VCC and GND of course).

I used the Wii Nunchuck Adapter for the convenience. You may find it around $1 in many online stores.

Step 2: Upload Sketch to Arduino Leonardo

I use Arduino V1.8.1 https://www.arduino.cc/en/Main/Software

To simulate a USB Joystick, I use the Joystick library from Matthew Heironimus:

https://github.com/MHeironimus/ArduinoJoystickLibrary

And finally, my sketch, will query Wii Controller's state via I2C and map to the corresponding Joystick's buttons.

Pressing the Home button will toggle between XBox controller and Standard Gamepad button mapping (with LED 13 indicator).

I hope this will be useful for someone. Happy gaming! :)

2 People Made This Project!

Recommendations

  • Make it Glow Contest

    Make it Glow Contest
  • First Time Author Contest

    First Time Author Contest
  • PCB Challenge

    PCB Challenge

4 Discussions

0
aldolo
aldolo

2 months ago

neat project. very smart the connector. i cutted the wire before seeing your clever solution.

0
RonL98
RonL98

Reply 1 year ago

nope, the Arduino Leonardo is used because it supports USB-HID, there are other micro-controllers you could use besides the Leonardo (the micro, for example), as far as I know the easiest way to know if it'd work is the chip - the ATmega32u4.

0
wold630
wold630

4 years ago

Neat!