This guide shows you how to connect an original Super Nintendo (SNES) controller to a computer, Raspberry Pi, or other USB host device. You’ll need a compatible adapter (either a DIY Arduino-based one or a ready-made USB adapter) and a few minutes. By the end, you’ll be able to use your classic controller for emulators, retro gaming, or any program that accepts gamepad input.
What You’ll Need
- An original SNES controller (the one with the multi-pin connector on the cable).
- A USB host adapter: either a commercial SNES-to-USB adapter (often labeled as “SNES USB adapter” or “Super Nintendo controller to PC”) or a DIY solution using an Arduino (e.g., Arduino Leonardo or Micro) and a female SNES controller port.
- A computer or device with a USB port (Windows, macOS, Linux, or Android with OTG support).
- If using the DIY route: soldering iron, wires, and a breadboard or protoboard (optional but helpful).
Step-by-Step
- Identify your controller’s connector. The original SNES controller has a 7-pin round connector (similar to a small DIN plug). It’s not USB, so you need an adapter.
- Choose your adapter method. The simplest is to buy a ready-made USB adapter. These typically plug into the controller’s cable and present a USB plug on the other end. If you prefer DIY, you’ll use an Arduino that emulates a USB gamepad.
- If using a commercial adapter: Plug the SNES controller into the adapter, then plug the adapter into a USB port on your computer. Wait for the OS to recognize it. On Windows, it usually installs a generic HID gamepad driver automatically. On macOS and Linux, it should work without extra drivers.
- If using an Arduino (DIY):
- Connect the SNES controller’s 7-pin connector to the Arduino. The pinout is: pin 1 = +5V (or 3.3V, but 5V is standard), pin 2 = Clock, pin 3 = Latch, pin 4 = Data, pin 5 = Ground, pins 6 and 7 are not used. You can find the exact pin numbering by looking at the connector’s front (the side that faces you when plugging in).
- Upload a sketch that reads the SNES controller’s serial data and sends it to the computer as a USB HID gamepad. Many open-source sketches exist; search for “SNES controller Arduino USB HID”. Make sure your Arduino supports USB HID (Leonardo, Micro, or Due).
- After uploading, plug the Arduino into your computer via USB. It should appear as a gamepad.
- Test the controller. Open your operating system’s game controller settings (on Windows: Control Panel > Devices and Printers > right-click the gamepad > Game controller settings; on macOS: System Information > USB; on Linux: use jstest or similar). Press buttons and move the D-pad to see if they register.
- Configure in your emulator or game. Most emulators (like RetroArch, Snes9x, or ZSNES) have a controller setup menu. Select the USB gamepad and map each button (A, B, X, Y, L, R, Start, Select, D-pad) to the corresponding action.
- Enjoy your retro gaming. The controller should work with any software that supports standard gamepads, including Steam, emulators, and modern games that allow gamepad input.
Common Mistakes
- Wrong pinout on DIY adapters. Mixing up Clock, Latch, or Data lines will cause the controller to not respond. Double-check the pinout before soldering.
- Using an Arduino that doesn’t support HID. Standard Arduinos like the Uno cannot act as a USB gamepad without extra firmware. Use a Leonardo, Micro, or a board with native USB.
- Not installing drivers on Windows. Some adapters need a driver. If the controller doesn’t appear, check the manufacturer’s website for drivers.
- Plugging into a USB hub with insufficient power. Some hubs don’t provide enough current, causing the adapter to fail. Plug directly into the computer’s USB port.
- Assuming the controller works with all games. Some games require analog sticks or more buttons; the SNES controller only has digital buttons and a D-pad.
Tips
- For the best compatibility, use a commercial adapter from a reputable retro-gaming store. They are tested and usually plug-and-play.
- If you’re handy with electronics, the DIY route is a fun project and gives you full control over the mapping.
- Test the controller with a simple gamepad tester before configuring your emulator to isolate issues.
- Keep the original controller cable intact; don’t cut it. If you need a longer cable, use an extension.
- On Windows, you can use the built-in “Game Controllers” panel to calibrate and test. On Linux, use
jstestfrom the joystick package. - If you’re using RetroArch, set the input driver to “udev” or “sdl2” for better compatibility with USB gamepads.
Troubleshooting
- Controller not detected at all: Check the USB connection, try a different port. If using a commercial adapter, ensure it’s properly seated. For DIY, re-check your wiring and the Arduino’s USB connection.
- Buttons work but D-pad doesn’t (or vice versa): This usually indicates a wiring issue. Check the Clock, Latch, and Data lines. In the Arduino sketch, verify the pin assignments match your wiring.
- Input lag or missed inputs: Some adapters have inherent latency. Try a different USB port (avoid hubs). In emulators, enable “run-ahead” or reduce buffering settings.
- Controller works on one OS but not another: The adapter may be designed for a specific OS. Check the product page for compatibility. For DIY, ensure your Arduino sketch uses a standard HID descriptor.
- Windows says “USB device not recognized”: This may be a driver issue. Try uninstalling the device from Device Manager and re-plugging. For commercial adapters, download the latest driver from the manufacturer.
- Controller works but buttons are swapped: This is a mapping issue. In your emulator or game’s settings, remap the buttons to your preference.
Frequently Asked Questions
Can I use an original SNES controller on a modern PC without an adapter?
No, the controller uses a proprietary 7-pin connector and a serial protocol, not USB. You need an adapter to convert the signal.
Will the controller work with my Nintendo Switch?
Not directly. The Switch uses Bluetooth or USB with a different protocol. Some adapters exist that work with the Switch, but they are not standard SNES-to-USB adapters.
Do I need to install drivers on macOS?
Usually not. Most USB gamepads are recognized as HID devices and work out of the box. If not, check the adapter’s documentation.
Can I use two SNES controllers simultaneously?
Yes, if you have two adapters and two USB ports (or a USB hub). The computer will see them as two separate gamepads.
Is there input lag with USB adapters?
Some adapters may introduce a few milliseconds of lag, but for most games it’s negligible. High-quality adapters and direct USB connections minimize this.
Can I use the SNES mouse or Super Scope with the same adapter?
No, those peripherals use different protocols. You would need a specialized adapter for each.
Related
General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.
More in this bed
- Fix Missing Scroll Bar in Chrome
- Fix Sony Vegas Crashing on Windows 10
- Fix Outlook Sent Items Missing? Quick Solutions
- Hide WhatsApp Channel: Android & iOS Guide
- Slow Context Menu in Windows 11: Fixes
- Declutter Safari on iPhone: 15 Quick Tips