The Super Nintendo aka SNES was an iconic console of the 16-bit era. The Nintendo Mouse was originally developed as a bundled accessory for Mario Paint. It has two buttons and an SNES connector. Later, third party games would also use this mouse accessory.

In this guide, I'll show how to connect the SNES mouse (actually, a modern third-party version known as the the Hyper Click Retro Style Mouse) to a PC or Mac using CircuitPython to convert the original protocol into USB HID. As far as I know, this will also work with the original mouse, but as I don't own one, I haven't tested it.

Instead of using a difficult-to-source connector and custom PCB, this guide takes the approach of using a SNES controller extension cable which is soldered to the microcontroller board.

While this guide is written for the QT Py RP2040, the controller communicates using the standard SPI protocol, which means it's possible to adapt the code to just about any CircuitPython board simply by changing the pins that are used.

Once you've got the project wired up, it's also a great platform for connecting any other SNES compatible controller — just modify the source code according to the data the controller sends.

Parts

Video of hand holding a QT Py PCB in their hand. An LED glows rainbow colors.
What a cutie pie! Or is it... a QT Py? This diminutive dev board comes with one of our new favorite chip, the RP2040. It's been made famous in the new
$9.95
In Stock
Angled shot of coiled pink and purple USB cable with USB A and USB C connectors.
This cable is not only super-fashionable, with a woven pink and purple Blinka-like pattern, it's also made for USB C for our modernized breakout boards, Feathers, and...
$2.95
In Stock
1 x SNES-compatible mouse
Hyperkin Hyper Click Retro Style Mouse for Super NES
1 x SNES Controller Extension Cable
2Pack 6 ft/1.8m SNES Controller Extension Cable for Retro-Bit SNES Super Nintendo Entertainment System Console

This guide was first published on Mar 02, 2023. It was last updated on Apr 15, 2024.

This page (Overview) was last updated on Mar 08, 2024.

Text editor powered by tinymce.