Skip to the content.

USB2SNES is way to communicate with the SNES or devices (including some emulators) that act like a SNES



USB2SNES firmware

USB2SNES is a firmware for the SD2SNES cartridge written by Redguyy that allows to use the USB port on the SD2SNES to access various functionality of the SD2SNES. Most notable are uploading ROM, read and write various memories of the console.

The issue with this approach, when writing application that use this technology only one application can have access to the SD2SNES. So for example you cannot run an Item tracker for ALTTP randomizer at the same time than the fileviewer to upload a new ROM.

Direct access

To avoid this issue, Redguyy wrote an intermediary application also called USB2SNES that other application use to talk to the SD2SNES.

So a basic usage look like that:

Websocket access

Emulators, SNES Classic…

Since then an alternative implementation called QUsb2Snes has added support for other backends including SNES Emulators or SNES Classic

For example Snes9x

Lua connection

Supported platforms

Intermediate software

Different choices of platforms that is supported

Platform USB2SNES QUsb2Snes
SD2SNES with the USB2SNES firmware
Snes9x Multitroid with Lua support
SNES Classic modded with Hakchi2 CE
Bizhawk 2.3.1
RetroArch support with Snes9x and bsnes-mercury cores

Getting started



You can download a bundle on usb2snes github releases page. This include the latest QUsb2Snes, the latest USB2SNES firmware and a bunch of applications to have something ready to use.

Mac os X

For Mac os X users you will need to grab a QUsb2Snes dmg on QUsb2Snes releases page, sadly other applications does not have a Mac os X release yet.


You will need to compile yourself see QUsb2Snes Linux Readme


Download the file corresponding to your operating system, then follow the instructions on the Readme or on QUsb2Snes usage


You can visit the tutorials page to found various tutorials showing you how to use QUsb2snes or software using usb2snes technology.

Getting help

The best way to get help is to join the Usb2snes discord at Usb2Snes and contact ask your question.

There is also a connection tester page that can help with verifying that QUsb2snes is accessable and can find devices.


You can find a list of applications that use the usb2snes protocol at the Application page


If you don’t plan on doing a complex application, you can look at the Magic2Snes project. It’s a project written toward making small application easier by hiding all the Usb2Snes specific behind simple call like memory.readByte()

If you want more details about the Usb2Snes websocket protocol you need too look at the Protocol page of the QUsb2Snes project.