# SNES Mouse to USB HID with CircuitPython

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/119/132/medium800thumb/circuitpython_ezgif.com-optimize.jpg?1677793833)

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](http://nerdlypleasures.blogspot.com/2018/01/hyperkins-snes-mouse-curious-product.html)) 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
### Adafruit QT Py RP2040

[Adafruit QT Py RP2040](https://www.adafruit.com/product/4900)
What a cutie pie! Or is it... a QT Py?&nbsp;This diminutive dev board comes with one of our new favorite chip, the RP2040. It's been made famous in the new [Raspberry Pi Pico](https://www.adafruit.com/pico) _and_ our [Feather...](http://www.adafruit.com/product/4884)

Out of Stock
[Buy Now](https://www.adafruit.com/product/4900)
[Related Guides to the Product](https://learn.adafruit.com/products/4900/guides)
![Video of hand holding a QT Py PCB in their hand. An LED glows rainbow colors.](https://cdn-shop.adafruit.com/product-videos/640x480/4900-06.jpg)

### Pink and Purple Woven USB A to USB C Cable - 1 meter long

[Pink and Purple Woven USB A to USB C Cable - 1 meter long](https://www.adafruit.com/product/5153)
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 more.&nbsp;&nbsp;[If you want something just like it but for Micro B, we...](https://www.adafruit.com/product/4111)

Out of Stock
[Buy Now](https://www.adafruit.com/product/5153)
[Related Guides to the Product](https://learn.adafruit.com/products/5153/guides)
![Angled shot of coiled pink and purple USB cable with USB A and USB C connectors.](https://cdn-shop.adafruit.com/640x480/5153-02.jpg)

### Part: SNES-compatible mouse
quantity: 1
 Hyperkin Hyper Click Retro Style Mouse for Super NES 
[SNES-compatible mouse](https://www.amazon.com/Hyperkin-Hyper-Click-Retro-super-nintendo/dp/B0734BCWS1)

### Part: SNES Controller Extension Cable
quantity: 1
 2Pack 6 ft/1.8m SNES Controller Extension Cable for Retro-Bit SNES Super Nintendo Entertainment System Console 
[SNES Controller Extension Cable](https://www.amazon.com/gp/product/B075K4R86R)

- [Next Page](https://learn.adafruit.com/snes-mouse-to-usb-hid-with-circuitpython/assembly-wiring.md)

## Featured Products

### Adafruit QT Py RP2040

[Adafruit QT Py RP2040](https://www.adafruit.com/product/4900)
What a cutie pie! Or is it... a QT Py?&nbsp;This diminutive dev board comes with one of our new favorite chip, the RP2040. It's been made famous in the new [Raspberry Pi Pico](https://www.adafruit.com/pico) _and_ our [Feather...](http://www.adafruit.com/product/4884)

Out of Stock
[Buy Now](https://www.adafruit.com/product/4900)
[Related Guides to the Product](https://learn.adafruit.com/products/4900/guides)
### Pink and Purple Woven USB A to USB C Cable - 1 meter long

[Pink and Purple Woven USB A to USB C Cable - 1 meter long](https://www.adafruit.com/product/5153)
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 more.&nbsp;&nbsp;[If you want something just like it but for Micro B, we...](https://www.adafruit.com/product/4111)

Out of Stock
[Buy Now](https://www.adafruit.com/product/5153)
[Related Guides to the Product](https://learn.adafruit.com/products/5153/guides)

## Related Guides

- [Adafruit QT Py RP2040](https://learn.adafruit.com/adafruit-qt-py-2040.md)
- [MIDI for Makers](https://learn.adafruit.com/midi-for-makers.md)
- [Light Up your Costume with Noods](https://learn.adafruit.com/light-up-your-costume-with-noods.md)
- [NeoPixel Menorah](https://learn.adafruit.com/neopixel-menorah.md)
- [Tyrell Desktop Synthesizer](https://learn.adafruit.com/tyrell-desktop-synthesizer.md)
- [QT Py RP2040 USB to Serial MIDI Friends](https://learn.adafruit.com/qt-py-rp2040-usb-to-serial-midi-friends.md)
- [Adafruit I2S Amplifier BFF](https://learn.adafruit.com/i2s-amplifier-bff.md)
- [CircuitPython Trombone Champ Controller](https://learn.adafruit.com/circuitpython-trombone-champ-controller.md)
- [Animated Edge Lit Acrylic NeoPixel Lamp](https://learn.adafruit.com/acrylic-neopixel-lamp.md)
- [Hexpad](https://learn.adafruit.com/hexpad.md)
- [An Introduction to RP2040 PIO with CircuitPython](https://learn.adafruit.com/intro-to-rp2040-pio-with-circuitpython.md)
- [LED Neon Signs with NeoPixels](https://learn.adafruit.com/led-neon-signs-with-neopixels.md)
- [LED Noodle Holiday Tree](https://learn.adafruit.com/led-noodle-tree.md)
- [Lemon Mechanical Keypad](https://learn.adafruit.com/qtpy-lemon-mechanical-keypad-macropad.md)
- [Customizing USB Devices in CircuitPython](https://learn.adafruit.com/customizing-usb-devices-in-circuitpython.md)
- [LED Noodle Lantern](https://learn.adafruit.com/led-noodle-lantern.md)
