Breadboarded, tested, and waiting for an enclosure.
A Nintendo Advantage inspired controller to use with the NES Classic Edition. The controller uses an Atmega328P microcontroller to emulate a Wii Classic controller.
The controller is without the X/Y/L/R buttons and analog sticks of the Wii Classic controller but has the Home button. The Home button allows you to return to the menu screen to save state or change game instead of having to press the reset button on the console.
The DIY controller includes turbo for the A and B buttons just like the original Nintendo Advantage joystick. Turbo is enabled by flipping toggle switches. I think the toggle switch is better than a latching push button because you can see clearly if turbo is engaged or not. You can adjust the turbo rate with the potentiometer and the LEDs flash at the turbo rate. Default max turbo rate is 35 button presses per second but can be changed in the code.
I made this project after going through two defective Emio Edge joysticks. I wanted a second controller and the official gamepad is harder to find than a unicorn.
The controller is based on the project Wii Retropad Adapter by Bruno Freitas which allows you to connect other controllers to the Wii and the NES Mini. I figured why not hook up buttons to the microcontroller ports instead of relaying and transforming signals from another console's controller.
I was not able to get this project to work off an Arduino. My guess is that an Arduino runs at 5V while the Wii and Mini controllers only work with 3.3V. You could probably run this project off a clone that runs at 8MHz and 3.3V.
To make this project, download and build the source code which is in an Atmel Studio project. Be sure to change the microcontroller's fuse settings to L:0xE2 H:0xDE E:0xFD. Follow the schematic and/or read the Sketch.cpp file for what component to connect to the pins of the microcontroller. Connect a Wii cable (gutted from a Wii nunchuck or a classic controller extension cord) to the microcontroller.
Use quality arcade parts to replace the tactile buttons after you have tested and verified that everything works. If you need information or help on building a joystick controller, check out Slagcoin.com. I have made an enclosure that is meant to take a Sanwa JLF joystick and Sanwa OBSF-30 buttons.
Thanks for reading.