How to Connect Controller to RetroPie? | Setup Made Simple

Connect any wired USB controller to RetroPie by plugging it in — the system prompts you to configure the buttons on first boot automatically.

The first time RetroPie boots, it waits for you to press a button on a plugged-in controller before it even shows a menu. That built-in prompt makes connecting a wired USB gamepad the fastest route to playing your ROMs. Bluetooth takes a few more steps, but the process is well-supported once you know the pairing sequence for your specific controller model.

Wired USB Controller Setup

Plug any standard USB gamepad into a free port on your Raspberry Pi. On the first boot of RetroPie, EmulationStation detects the controller and launches a button-mapping wizard. Hold any button to start, then follow the on-screen prompts to assign each button. Press the configured A button on “OK” to finish and enter EmulationStation.

For additional wired controllers, plug in the next gamepad, press Start on the first controller to open the EmulationStation menu, select Configure Input, and repeat the mapping process for each new device. Each controller must be configured individually, but once mapped, USB controllers reconnect automatically on every boot with no extra setup.

How Do You Pair a Bluetooth Controller?

Pairing a Bluetooth controller requires the RetroPie Setup script. Exit EmulationStation by pressing F4 on a keyboard, then run:

sudo /home/pi/RetroPie-Setup/retropie_setup.sh

Navigate to SetupConfiguration / ToolsBluetoothRegister and Connect to Bluetooth device. Put your controller into pairing mode — each model uses a different button combination to enter discovery:

Controller Model Pairing Button Combination
8BitDo FC30 Pro Hold power switch for 3 seconds
8BitDo SFC30 Press Start + R
8BitDo Pro 2 Hold Start + R (pairing LED blinks)
Sony PS4 / PS5 Hold PS + Share until light blinks rapidly
Xbox One / Series X|S (Bluetooth) Press pair button on top, then hold until logo blinks

Select the detected controller when it appears, choose DisplayYesNo at the pairing prompt, and confirm the code. After pairing, enable auto-connection: go back to the Bluetooth menu → Configure Bluetooth connect modeConnect to devices once at boot. Exit the script and reboot. A solid blue LED on 8BitDo controllers confirms a successful pair.

Once paired, press Start in EmulationStation, select Configure Input, and map the buttons for both the menu and gameplay. For RetroArch-specific mapping, return to the RetroPie Setup script and choose Configure input devices for RetroArch. Do not select Install RetroArch joypad autoconfigs — that can overwrite your manual mapping and create conflicts.

For a PS3 controller, the process uses a separate sixad daemon. Plug it in via USB, wait for the ID detection, unplug, press the PS button to initiate pairing, run sudo sixad --start, then press the PS button again until the ID shows. Add the daemon with sudo update-rc.d sixad defaults and reboot.

What Are the Most Common Setup Mistakes?

Three errors cause the majority of connection failures. First, skipping the Connect to devices once at boot setting — without it, the controller must be re-paired on every boot. Second, using the wrong pairing mode: holding the power button for standard power-on does not trigger Bluetooth discovery on most controllers; you must use the specific button combination listed in the table above. Third, configuring only EmulationStation inputs without also mapping buttons in RetroArch, which leaves games unplayable even though the menu works.

If your 8BitDo SFC30 is not detected after pairing, you may need to edit /etc/udev/rules.d/10-local.rules and reboot. Always choose Perform Reboot from the RetroPie Setup menu rather than hard-resetting the Pi to avoid SD card corruption. If you are still deciding which controller to buy for your build, take a look at our tested roundup of the best controllers for RetroPie to see which models pair reliably and which offer the best feel for retro gaming.

FAQs

Do I need to configure a controller for both EmulationStation and RetroArch?

Yes. EmulationStation handles the main menu and game-launching interface, while RetroArch controls button inputs during gameplay. The initial EmulationStation mapping wizard only configures the menu — you must also map the controller in RetroPie Setup under Configure input devices for RetroArch to make buttons work inside games.

Can I use multiple controllers at the same time?

Yes, RetroPie supports multiple wired and Bluetooth controllers simultaneously. Each must be configured individually through EmulationStation’s Configure Input menu. Once mapped, all configured controllers work together in supported multiplayer games.

Why will my PS3 controller not connect?

PS3 controllers require the sixad Bluetooth daemon, which only supports Gasia-manufactured hardware. If your controller uses a different chipset, it may not pair at all. Even with a compatible unit, the pairing process requires plugging in via USB, running the daemon, and pressing the PS button — skipping any step breaks the connection.

References & Sources

Please use a real email you check. If it's fake or mistyped, your message won't reach us and we can't reply — wrong addresses are rejected automatically.