How to Use a Wireless Bluetooth Controller with RetroPie

No more wires!
Zach Zach (248)
15 minutes

Using a Bluetooth controller with RetroPie is a piece of cake -- this guide will show you how. Works on all Raspberry Pi versions (including the Pi Zero).

I chose to use an 8Bitdo SNES-style gamepad as the 8Bitdo quality and compatibility is superb. There are cheaper Bluetooth gamepads out there, but you may have issues getting the controller to work properly.

This guide will focus primarily on setting up an 8Bitdo Bluetooth controller; however, the steps here will be extremely similar for other Bluetooth controllers, including Xbox controllers. Be sure to check out our master RetroPie controller guide to explore other options, too!

8Bitdo SN30 bluetooth controller8Bitdo SN30 bluetooth controller ×1

Howchoo is reader-supported. As an Amazon Associate, we may earn a small affiliate commission at no cost to you when you buy through our links.

Connect your Bluetooth adapter

If you're using a Raspberry Pi Zero W, Raspberry Pi 3, or newer, skip this step.

If you're using an older Pi that doesn't have Bluetooth, you'll need to add this, or a similar, USB Bluetooth adapter.

Power down your Pi. Then, connect your USB Bluetooth adapter to any available USB port. If you followed my NES PiCart guide, there's a free USB port on the rear of the USB hub (lucky you!)

RetroPie wired controller

You'll need to use a wired device -- like a USB controller or keyboard -- to navigate the RetroPie UI and update the Raspberry Pi's configuration to accept your new bluetooth controller.

Connect a wired gamepad or keyboard. Then, connect your Pi to your display and boot it up.

Update your controller's firmware

It's important that your controller firmware is up to date.

If using an 8Bitdo controller, select "Firmware" and then click "Download" next to your specific controller.

The process is super simple; follow the instructions on that page to update your controller's firmware.

RetroPie version

Bluetooth controllers (and 8Bitdo support) work best when using RetroPie v4.0 or above -- if you installed RetroPie between August 2016 and now, you're already running v4.0+. If you aren't, I recommend updating to the latest version of RetroPie or you may encounter issues. If you don't want to update, you can still use bluetooth controllers, but the process is much more involved.

RetroPie setup menu screenshot

Inside the RetroPie interface, navigate to the right and select the RetroPie icon/system. Then, select RetroPie Setup.

Once inside the RetroPie Setup menu, navigate to Configuration/Tools and select bluetooth - Configure Bluetooth Devices.

Next, turn the 8Bitdo hack option off by selecting the 8Bitdo mapping hack (ON - old firmware) option so that it now says 8Bitdo mapping hack (OFF - new firmware).

Register a new Bluetooth device to pair the controller with your Pi

Power on your Bluetooth controller and make sure it is searching for a connection -- this is normally done by holding a combination of buttons for a few seconds. The exact button sequence varies based on which Bluetooth gamepad you have, but the method will be listed in the manual that came with your controller. For my controller (the SNES30), this is done by holding down the Start button for 3 seconds until the blue light starts flashing.

Once your wireless controller is in searching mode, use your wired controller to select Register and Connect to Bluetooth Device. You'll see a "Searching..." box and then a list of Bluetooth devices by MAC address. If you don't see the name of your device here, select Cancel and then search again. It seems that the Bluetooth device name doesn't always appear after searching for the first time.

After selecting your device, choose the DisplayYesNo security option. If the SNES30 is paired properly, the blue light will now be solid.

Finally, you need to tell Emulation Station to search for and recognize your new Bluetooth gamepad on system boot. From the same Bluetooth Setup menu, select Set up udev rule for Joypad (required for Joypads from 8Bitdo etc). Select your controller from this list.

Select Cancel to exit Bluetooth Setup and RetroPie Configuration. Finally, reboot your Pi.

While it's rebooting, go ahead and unplug your wired controller. After your Pi boots to the Configure Device menu, hold down any button on your Bluetooth controller and you will be prompted to map it. You're good to go!

A Pi Cart with bluetooth controller connected

Now you can sit back on your couch and play retro games the modern way.

Post below and I'll do my best to help you out! The RetroPie Wiki also has some great resources for troubleshooting 8Bitdo and other Bluetooth controllers.

Get a grip and control your Pi!
Ash Ash (362)
5 minutes

The Raspberry Pi works with many controllers—Xbox controllers are no exception.