Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The easiest way to use an original Super Nintendo controller with a Raspberry Pi is an SNES-to-USB adapter: Linux exposes it as a joystick, and RetroPie can guide you through button mapping. Direct GPIO wiring is also possible with the gamecon_gpio_rpi driver, but it takes more setup and requires careful attention to the Pi’s electrical limits.

Choose USB for simplicity or GPIO for a built-in console

A USB adapter is the quick, reversible option: plug in the adapter and pad, check that Linux detects a joystick, then map the controls in RetroPie. Direct GPIO suits a permanent enclosure or a project that reuses original controller ports. It avoids an external USB adapter but involves wiring, driver configuration, and compatibility checks.

Consideration USB adapter Direct GPIO
Wiring effort Connect the adapter and controller; no custom Pi wiring is needed. Wire the controller socket or breakout to GPIO and configure the driver.
Reversibility Easy to unplug or replace. Depends on the build; a socket or breakout is easier to service than a cut cable.
Enclosure integration Works well for an external adapter. Useful for a permanent build with original controller ports.
Controller count Depends on the adapter and USB setup; the cited adapter documentation does not establish a universal count. gamecon_gpio_rpi supports up to four mixed retro controllers.
Maintenance Typically uses Linux joystick detection and RetroPie mapping. Requires a compatible driver; firmware or kernel changes may require rebuilding or reconfiguring it.
Electrical risk Lower Pi GPIO wiring risk because the controller connects through the adapter. Requires checking signal and power assumptions against the Pi’s limits.

The USB simplicity recommendation is based on the documented detection and guided-mapping steps, not on a comparative benchmark.

How the SNES controller communicates

An SNES pad uses a serial shift-register-style protocol. The host latches the button state, clocks the controller, and reads the resulting serial data. The standard connector carries +5 V, ground, OUT0 (latch), /OE (clock), and serial data. RetroFrog also classifies SNES input as a GPIO-polled shift-register protocol. See the SNESdev connector and protocol reference and RetroFrog input documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
2 Pack USB Controller for SNES Retro Gaming, miadore SNES USB Classic Gamepad Joypad Gamestick for Windows PC MAC Linux Retropie Raspberry Pi 3
  • ✔ Compatible with Windows98/ME/Vista/2000/2003/XP/7/8/8.1/10; Mac OS X and beyond ; Emulators ;Raspberry Pi ;Raspberry PI 2 model B ;Retro Pi OS; Retropi System.
  • ✔ Simple USB plug and play, no drivers and software required. Note: If you have trouble with using this, make sure it is plugged in before starting your emulator. Also go into input settings and you may have to map the buttons.
  • ✔ Work with any emulator you wish to download and use. Google S-N-E-S emulator and then the same for Roms. Way better than normal joypad and keyboard and mouse playing to really enjoy the emulator experience.
  • ✔ Super sensitive buttons for precision control, Eight-way directional pad and six digital buttons. Play your favorite old school games with authentic retro feel. Arrowed D-pad, concave X and Y buttons, convex A and B buttons, rubber start and select buttons. Cord is approx. 5 ft. Long, providing a comfortable distance while playing.
  • ✔ If you want to play S-N-E-S, N-E-S, PSX, Atari, Genesis, or any other types of this vintage of games... get this. You will not regret it. NOTE:Third party controller, not original S-N-E-S / N-E-S controller. But it works phenomenal with the Raspberry Pi game emulation and so on.
Rank #4
8Bitdo Adapter Switch Controller Adapter 2 USB Wireless for Windows & Mac
  • Controller Adapter Compatibility: The second-generation receiver compatible with 8BitDo bluetooth controllers, Xbox Series X | S, Xbox One Bluetooth controllers, PS5/PS4/PS4 Pro/PS3 controllers and Switch Pro, Switch Joy-Con, Wii U Pro, Wiimote controller. Make sure to update the receiver to the latest firmware. Switch 2 compatibility requires the Adapter to be updated to the latest firmware. (Note: Please ensure it is Bluetooth controller.)
  • System compatibility: Switch (3.0.0 and above), Switch 2 (20.1.1 and above), SteamOS Holo 3.4 and above, Windows 10 and above, macOS, Raspberry Pi, Android TV Box, Retrofreak. Friendly reminder: Make sure to update the receiver to the latest firmware. Systems and controllers not mentioned above are not compatible.
  • Bluetooth Controller Adapter: Four modes available, X-input, D-input, Mac and Switch mode. Support 6-axis motion on switch mode and vibration on X-input mode.
  • Supports ultimate software - customize button mapping, adjust stick & trigger sensitivity, vibration control and create macros with any button combination.
  • Please Note: One adapter works for one controller. If you wish to use multiple controllers at a time, you would need to use multiple adapters. Non-bluetooth controller such as 2.4g wireless controller is NOT Compatible. Systems and controllers not mentioned above are not compatible. If you have any questions about our products we're always available to provide assistance.
Rank #3
ELECOM Gamepad Converter for Wii Controllers, Support Wii Game Classic Controller and Classic Controller Pro, Only Compatible with Windows PC 39 inch Cable Length (JC-W01UWH)
  • 《NOTICE》This adapter is only compatible with Windows PCs equipped with a USB interface. Use with other models is not guaranteed. Supported OS are Windows 10, Windows 8-8.1, Windows 7 (SP1), Windows Vista (SP2), and Windows XP (SP3). This converter has been verified to be compatible only with the Wii Game Classic Controller / Classic Controller Pro. Other controllers have not been tested and cannot be guaranteed.
  • 《CLASSIC CONTROLLER / CLASSIC CONTROLLER PRO TO USB》Wii Game Classic Controller or Classic Controller Pro can be connected to your Windows PCs. With a fast response model that allows you to input up to 60 times per second, you can play comfortably without missing button operations. You can set the continuous shooting mode by pressing each button while pressing the HOME button. Perfect for a fast shooter!!
  • 《PLUG AND PLAY - NO SOFTWARE or DRIVER INSTALLATION IS NECESSARY》 No need to install any software or driver. Simply just connect the adapter to the USB port to you desktop or laptop computer and ready to go!! It works for Windows OS PCs.
  • 《ADAPTER COMPATIBILITY》 Compatible with Windows 10 / Windows 8 / Windows 7 (SP1) / Windows Vista (SP2) / Windows XP (SP3)
  • 《PRODUCT DETAILS》 Size: 2.4" X 1" X 0.6" (62mm X 26mm X 17mm). Cable length: 39" (1m). Weight: 32g. Adapter from Wii Classic Controller (RVL-005) / Wii Classic Controller Pro (RVL-005 / RVL-005-02) to USB port. Compatible with Windows 10 / Windows 8 / Windows 7 (SP1) / Windows Vista (SP2) / Windows XP (SP3). The adapter is for only one player.
Rank #2
KIWITATA 2X Classic SNES USB Controller for PC Gamings, Retro SNES Wired USB Game Emulator Controller for Windows XP 7 8 11 Mac Raspberry Pi
  • ✅【Compatibility】Compatible with Raspberry Pi, Windows PC, Linux ,Mac. Specifically designed for playing classic old school retro snes games on computer or laptop.This is the USB controller what has a USB plug for PC, NOT compatible for Original SNES super Nintendo console
  • ✅ 【Ergonomic Design】Super precise cross key and function buttons,the cross direction key adopts frosted concave design,anti-sweat and anti-slip.The shape of the controller is designed to fit the contour of your hands,easy and comfortable to hold.
  • ✅ 【Advanced Game Experience】PC running operating system:Windows 98/2000/ ME/XP/Vista/Win7/8/8.1/11 or later,or Mac running OS X 10.0/Mac OS X or above.It works with most of emulators you wish to download and use,such as VirtuaNES(PC),sens9x,Zsens,sensgt,Uosnesw,RetroArch,OpenEmu(MAC),NESEmu and Jnes etc.
  • ✅ 【Wired USB Connection】Standard USB 2.0 port with a 1.5 meters (5ft) cable, don't need to install any drivers, you must manually set the buttons and directionals within the emulator you're using, and the controller not automatically assigns buttons/directional axes. Notice: please download the game emulator first before start the games, you can download the emulator “VirtuaNES” on PC and “OpenEmu”on MAC.
  • ✅【Satisfaction】Third party controller(USB Version), not for original snes console and not support for switch. If there is an incompatibility on MAC or Raspberry Pi , please contact the seller for a support.
#1 Best Overall
MAYFLASH SNES Controller Adapter for Switch/Switch 2 & PC Windows SNES Converter MF105
  • The SNES Controller Adapter allows you to connect up to two SNES Controllers to your Switch/Switch 2 System or PC Windows.
  • With two SNES Controller Adapters, up to four SNES controllers can be used at the same time.
  • Supports PC Xinput and Dinput.
  • Supports Turbo/Auto Fire/Hold functions. The Left Stick and D-Pad can be switched.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Connect through a USB adapter

  1. Connect the hardware. Plug an SNES-to-USB adapter into the Pi and attach the controller. Adapter behavior varies, so use a model documented to present the pad as a Linux joystick.
  2. Check Linux detection. Confirm that a joystick device appears before troubleshooting button assignments. Raphnet documents joystick-device behavior and uses /dev/input/js0 as an example; the actual device name or number can differ. See Raphnet’s SNES-to-USB adapter documentation.
  3. Start RetroPie mapping. In EmulationStation, hold a button on the controller to open the configuration screen, then follow the prompts. RetroPie’s guide is at Controller Configuration.
  4. Finish the mapping deliberately. Set a Hotkey Enable button when prompted. Skip controls the controller does not have using the on-screen instructions; assigning nonexistent buttons can produce confusing mappings.
  5. Test in a game or emulator. RetroPie applies the mapping for RetroArch. RetroArch uses a RetroPad abstraction to translate physical inputs into emulator controls; its controller documentation is at Input and Controls.

Wire a controller directly to GPIO

  1. Identify the connector pins. Use the SNESdev reference to identify +5 V, ground, OUT0 latch, /OE clock, and serial data. Verify pin orientation for the connector you are actually viewing before wiring; a reversed view can swap the apparent order.
  2. Use a serviceable connection. A controller socket or breakout with jumper wires is easier to maintain than cutting the controller cable. The gamecon_gpio_rpi documentation describes both jumper-wire and socket approaches: gamecon_gpio_rpi documentation.
  3. Install and configure the driver. Follow the driver’s RetroPie setup instructions and select the intended GPIO mapping and controller type. The project supports SNES pads and up to four mixed retro controllers.
  4. Check model and kernel compatibility. Confirm that the driver supports the Pi model and software environment in your build. The driver documentation notes that firmware updates can require rebuilding or reconfiguring the module.
  5. Verify the electrical design before powering it. The driver documentation states that GPIO data pins operate at 3.3 V and rates the Pi’s 3.3 V power pin at 50 mA maximum. Do not assume that the controller’s +5 V connector pin can be connected to a GPIO input, or that the Pi’s 3.3 V pin can supply any load without checking the complete circuit. Follow the driver’s wiring guidance and validate the design before connecting power.

Troubleshoot detection and button mapping

  • No USB joystick device appears: Check the adapter, controller cable, and Linux joystick enumeration first. Changing RetroArch mappings will not fix a device that Linux does not detect.
  • GPIO input is absent or incorrect: Recheck ground, latch, clock, and data order against the connector pinout, then confirm the driver’s selected GPIO mapping and controller type.
  • Buttons appear shifted or duplicated: Verify the selected driver mapping and controller type; also check that latch, clock, and data are not interchanged.
  • GPIO stops working after a system update: Check the driver documentation for the current kernel and firmware situation; the module may need to be rebuilt or reconfigured.
  • Controls no longer match after changing hardware: Run RetroPie’s guided mapping again after switching adapters or controller ports.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.