Setting up a controller: USB and Bluetooth pads, and mapping buttons
Quick answer: Plug in a USB pad and it usually just works; for Bluetooth, put the pad in pairing mode and use the build's Bluetooth pairing option. If buttons are wrong or the pad is not seen, hold a button on the configure controller screen and map each button when asked.
Most builds are set up for an Xbox-style controller out of the box, so the easiest life is a wired Xbox-style pad. Anything else can be made to work, though. Here is how.
Wired USB pads (the easy way)
- Plug the pad in before you switch the device on (it can be hot-plugged later too, but this is the safest first time).
- Boot the build. If the menu moves when you press the D-pad, you are done.
- If it does not respond, or the buttons are muddled, map it (see below).
Some pads have a mode switch (marked X, D or S, or a combo on start-up). X-input mode (Xbox style) is the one most builds expect.
Bluetooth pads
Step 1: put the pad in pairing mode
- Xbox Wireless Controller: turn it on, then hold the small pair button on top until the logo flashes quickly.
- PS4 DualShock 4: hold Share and the PS button until the light bar flashes.
- PS5 DualSense: hold Create and the PS button until the lights flash.
- Switch Pro Controller: hold the small sync button on top.
- 8BitDo pads: it depends on the model; many use Start plus X for X-input mode, then the pair button. Check the leaflet.
Step 2: pair it in the build
- Batocera: press Start, go to Controller and Bluetooth Settings and choose Pair a Bluetooth Controller. Have the pad flashing first.
- RetroPie: from the RetroPie menu open Bluetooth, choose to register and connect a device, and pick your pad from the list.
- RetroBat and Windows builds: pair it in Windows first (Settings, then Bluetooth and devices, then Add device), then start the build.
You need a plugged-in pad or keyboard to get through the menus the first time. A cheap USB pad is worth keeping in the drawer for exactly this.
Mapping buttons in EmulationStation
Batocera, RetroBat and RetroPie all use a menu called EmulationStation, and it needs to learn your pad once.
Batocera and RetroBat
On first boot you may see “CONFIGURE A CONTROLLER”. Hold any button on your pad until it is detected, then follow the on-screen prompts to press each button in turn. If you skipped it, press Start, then Controller and Bluetooth Settings, then Configure a Controller any time.
RetroPie
On first boot RetroPie says “WELCOME, X gamepads detected”. Hold a button to begin, then map each one as prompted. To redo it later, press Start on the main menu and choose Configure Input.
Mapping tips
- Press by position, not by label. The screen asks for buttons using its own names; press the button in that position on your pad.
- Skip buttons you do not have by holding any button for a couple of seconds (RetroPie), or pressing Down to move past them (Batocera).
- Do not skip the hotkey. Select or Home is ideal. Without it you cannot exit games. See hotkeys and exiting games.
- Muddled it? Just run Configure again. Nothing breaks.
Two or more players
Each pad needs configuring once. In Batocera, the Controller and Bluetooth Settings menu lets you choose which pad is Player 1, Player 2 and so on.
Common problems
- Works in menus but not in a game: some standalone emulators (rather than RetroArch) have their own controller settings. Check the build’s post.
- Bluetooth pad keeps dropping: move closer, charge it, or use a USB cable. On a Pi, a weak power supply can cause this too; see Raspberry Pi basics.
- Pad not seen at all: try another cable (some are charge-only) or another USB port.
Need a pad?
Any Xbox or PlayStation style pad works great. Here are some USB / Bluetooth controllers we recommend (affiliate link: it supports the site at no extra cost to you).
Building a cabinet or after a light gun? See arcade sticks, encoders and light guns.
Still stuck? Ask in our Discord with your build name and controller model.







