Adapting PlayStation 2 controller to Wii using Arduino

24 Apr 2016

The Problem

Some days ago I bought a pair of Wii Classic controllers to play Mario Kart 64 on the Nintendo Virtual Console, but unfortunately I spent my money on a Chinese imitation, instead of buying the originals.

The main reason is that I don’t wanted to wait 2 months for a package to arrive from US to Uruguay

The secondary reason was the price, the pair of Chinese controllers cost then time less than the originals.

In fact, the controllers quality was awful, and one of it stopped to work after some use.

The Solution

After google-ing a little I found 2 repos:

To communicate with the Wii-mote: https://github.com/denizkoekden/arduino-wiimote that was created 4 years ago, but updating it wasn’t complicated.

and for the PlayStation Controller I found the excellent work of Bill Porter: http://www.billporter.info/2010/06/05/playstation-2-controller-arduino-library-v1-0/

https://github.com/madsci1016/Arduino-PS2X

The goal was mix both project to create an adapter from PS2 to Wii (╯°□°)╯︵ ┻━┻

Basically what I did was mixing these two projects and matching all the keys from the PS2 to impersonate a Classic Wii controller.

Arduino connections

Results:

Development Layout

Dev Layout

Playing Mario Kart 64

Playing Mario Kart 64

Future improvements:

  • Remove the 5V power supply and make all run with the Wii-mote batteries.
  • Use a female connector to allow switching the PlayStation Controller.
  • Put all together in a pretty case like this:

Altoids Arduino Case

Assets: