This ATiny85-Based Adapter Lets You Connect Your NES Classic Controller to Your PC

If you want to use your NES Classic Controller to play games on your PC, this adapter designed by Albert Gonzalez is a fantastic DIY option.

Cameron Coward
3 years agoGaming / Retro Tech

Nintendo’s NES Classic Edition was a surprise hit when it launched back in 2016, despite the fact that the only thing it shared with the original NES was the aesthetic styling. The console itself looked like the original NES, but was much smaller and unable to accept cartridges. It could only play the 30 games that came pre-installed from the factory. The controller was a mostly faithful recreation of the original, except that it had an entirely different plug that is proprietary. If you have one of those controllers and want to use it with your PC to play a larger collection of emulated games, Albert Gonzalez has designed a fantastic ATtiny85-based adapter that turns the controller into a standard USB gamepad.

If you had a Nintendo Wii, then you may recognize the plug on the NES Classic controller. It is the same plug that was used to connect the Nunchuk and Classic Controller to the Wiimote. That plug is a 6-pin connector used to add extended peripherals that communicate via the I2C protocol. While the plug itself is proprietary, the I2C protocol is not. In fact, just about every microcontroller in existence can communicate via I2C. That includes the humble Microchip ATtiny85 microcontroller that acts as the brain of this adapter. That is one of many low-power 8-bit microcontrollers in the AVR line that was originally developed by Atmel, before the company was acquired by Microchip Technology in 2016. Of the AVR microcontrollers, the ATtiny85 is the most popular choice when few I/O pins are required for a project.

The ATtiny85 has two jobs to perform for this adapter: read the input signals coming from the NES Classic Controller and send those to the computer as if it were a USB gamepad. The ATTiny85 only has five I/O pins available, but those are enough for the two I2C data pins and two USB data pins. Nintendo’s I2C communication has been deciphered by the community, so Gonzalez was able to take advantage of that to read the signals coming from the NES Classic Controller. He then used the fantastic V-USB library to handle the USB connection. V-USB works with most AVR microcontrollers and is able to emulate a USB HID in software, meaning no dedicated USB chip is required for this adapter. The only other required parts are the connectors themselves and a few discrete components. Just solder those on a perfboard, upload Gonzalez’s code, and you’ll have an adapter that lets you use your NES Classic Controller for games on your PC!

Cameron Coward
Writer for Hackster News. Proud husband and dog dad. Maker and serial hobbyist. Check out my YouTube channel: Serial Hobbyism
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles