Raspberry Pis are often used for emulating, media centres and even gaming machines. This post lists and discusses Raspberry Pi-compatible game controllers.
Table of contents
Introduction to Raspberry Pi-compatible game controllers
The Raspberry Pi has plug-and-play capability when it comes to a keyboard and mouse — even wireless ones (via a USB dongle). The Raspberry Pi also supports many different game controllers.
A game controller (also known as a gaming controller, controller or gamepad) is an input device used to play video games. They include gamepads, joysticks and arcade sticks.
There are many game controllers on the market today. Some original, some generic (copied from the original, aka clones). There are also game console-specific controllers which are also compatible with other devices.
This post will focus on original game controllers that are compatible with the Raspberry Pi. Controllers are listed alphabetically. A summary of important characteristics is tabled at the end of this post.
The following compatibility icons will be used:
- Get the Raspberry Pi 4B 4GB Starter Kit from Amazon.com
- Get the Raspberry Pi 4B 8GB Starter Kit from Amazon.com
- Get the Gigabyte GeForce GTX 1060 3GB GPU from Amazon.com
- Get the MSI GeForce GTX 1060 6GB GPU from Amazon.com
Connecting a game controller to a Raspberry Pi
Game controllers can be connected to a Raspberry Pi by using its USB ports, Bluetooth or 433MHz radio frequency technology.
USB game controllers
Wired USB game controllers come standard with a cord (aka cable) with a USB Type-A connector at the end. Wired non-USB controllers (e.g. the Sony PSone controller) can often be connected to a USB port using an appropriate USB converter.
Non-Bluetooth wireless controllers can also be connected using a USB dongle (e.g. the Xbox Wireless Adapter for Windows).
Most wired USB game controllers will work well with the Raspberry Pi. The PlayStation to USB converter and the Xbox Wireless Adapter also work well.
Up to four USB game controllers (one for each USB port) can be connected to the Raspberry Pi before booting.
In many cases, USB game controllers will be hot-pluggable, meaning they will start to work shortly after their connection while the Raspberry Pi was on.
Most Bluetooth controllers will also have a USB charging cable which can also be connected to a Raspberry Pi USB port (see later).
Bluetooth game controllers
Raspberry Pi Models 3B, 3B+ and 4B come standard with built-in Bluetooth. Unlike USB game controllers, Bluetooth controllers need to be paired with the Raspberry Pi. Bluetooth controllers
Pairing is the process of connecting a Bluetooth controller to the Raspberry Pi. Up to 10 devices can be paired at the same time. After their pairing, the Raspberry Pi will be able to remember and pair automatically each time the controller is switched on.
433MHz radio frequency game controllers
Some game controllers use 433MHz radio frequency (RF) technology to connect wirelessly to a device. These controllers utilise a USB dongle as a receiver to make the connection.
As with Bluetooth controllers, RF controllers often has to be paired first before they can be used.
Charging cables
Bluetooth and 433MHz wireless controllers run on batteries that need to be charged or replaced from time to time. Charging is done using a USB cable connected to the controller or a charging station.
The controller charging cable will either have a USB-B (aka Micro USB) or USB-C port on the one side and a USB Type-A (aka standard USB) on the other.
Charging cables can also be used to convert wireless controllers into wired ones, which is sometimes needed for connecting certain controllers to a Raspberry Pi.
Controller mapping
Mapping (or key mapping) is the process where each button of the controller is mapped to a function on the Raspberry Pi.
The key mapping process is usually done using the operating system or application software configuration. Keymapping can also be done inside the game settings themselves. When done correctly, it only needs to be done once.
8BitDo gamepads
Also works with:
8BitDo is a 3rd party video game hardware company with a special focus on making high-quality, retro-themed game controllers. Although all their USB and Bluetooth game controllers are compatible with the Raspberry Pi, this list includes the SN30 Pro, SN30 Pro Plus and Pro 2 gamepads. All their game controllers are available on the 8BitDo Amazon Shop.
8BitDo SN30 Pro Gamepad
The SN30 Pro gamepad from 8BitDo is a retro-style game controller popularly used for Raspberry Pis. Both USB and Bluetooth versions are available.
The 8BitDo SN30Pro gamepad has a D-pad, two clickable analogue sticks, four face buttons, Select and Start buttons, a Home and ‘Star’ (or capture) button, left and right shoulder buttons, and left and right trigger buttons.
- Get the 8BitDo SN30 Pro USB Gamepad from Amazon.com
- Get the 8BitDo SN30 Pro Bluetooth Gamepad from Amazon.com
8BitDo SN30 Pro Plus Gamepad
The SN30 Pro+ with Bluetooth is said to be one of 8BitDo’s most advanced game controllers, making it even better to use with the Raspberry Pi.
When compared with the SN30 Pro, the SN30 Pro+ has additional hand grips and two additional pedal or grip trigger buttons on the back of the controller.
8BitDo Pro 2 Gamepad
The 8BitDo Pro 2 is also a high-rated gamepad to use with the Raspberry Pi. It has a similar button layout and form and shape when compared to the SN30 Pro Plus (see above) and comes in a USB and a Bluetooth version.
- Get the 8BitDo Pro 2 Bluetooth Gamepad from Amazon.com
- Get the 8BitDo Pro 2 USB Gamepad from Amazon.com
Logitec F series gamepads
Also works with:
Logitec is a Swiss manufacturer of PC peripherals and software. They are mainly known for their line of keyboards and mice. Gamepads are part of their F product line, which includes wired and wireless game controllers.
Logitec F gamepads that are compatible with the Raspberry Pi include the F310, the F510, and the F710.
The F310 and F510 are Logitec’s wired USB game controllers while the F710 uses wireless 2.4GHz. The only difference between the two wired controllers is the addition of rumble feedback on the F510.
All three Logitec F gamepads have a similar form factor and look and feel like a game console controller. They have a D-pad, two analogue sticks, 4 face buttons, left and right shoulder buttons, left and right trigger buttons, a Central button, and Back, Start and Mode buttons. The F510 and F710 have an additional vibration button.
- Get the Logitec F310 Gamepad from Amazon.com
- Get the Logitec F510 Gamepad from Amazon.com
- Get the Logitec F710 Gamepad from Amazon.com
The Logitec F310 USB gamepad is our go-to game controller for RetroPie.
Nintendo controllers
Since the launch of the Nintendo Entertainment System (aka NES), Nintendo has brought out many game controllers for their consoles. Nintendo controllers that can be used on a Raspberry Pi include the Wiimote, Wii Classic and Classic Pro controllers, Switch Pro, and Joy-Con.
Nintendo Wiimote, Wii Classic Controller and Wii Classic Controller Pro
Also works with:
The Wii Classic Controller was the more traditional game controller for the Nintendo Wii way back in 2006. In 2009 the Wii Controller Pro was also released with a bulkier form factor.
These controllers are wired and connected using the Wii’s propriety port but can be connected to the Raspberry Pi via the Wiimote using additional drivers.
The Nintendo Wii Classic Controller has a D-pad, two analogue sticks, 4 face buttons, left and right shoulder buttons, left and right trigger buttons, a Select and Start button and a Home button. The Classic Controller Pro has the same buttons but is spaced differently.
Nintendo Switch Pro and Nintendo Joy-Con
Also works with:
The Switch Pro controller (released in 2017) is the alternative controller to the Switch Joy-Con that came standard with the Nintendo Switch. Both the Nintendo Joy-Con and the Nintendo Switch Pro controller can be paired with the Raspberry Pi using Bluetooth. The Switch Pro Controller can also be connected using a USB cable.
The JoyCon and Switch Pro has double analogue sticks, a D-pad, 4 face buttons, a Capture button, Home button, left and right shoulder buttons (called L and R buttons), left and right trigger buttons and – and + buttons.
Note that the Nintendo Switch Pro might only have USB connectivity to certain Raspberry Pi applications.
- Nintendo Switch Pro and Nintendo Joy-Con trollers are available from Amazon.com.
Razer gaming controllers
Also works with:
Razer Inc is a multinational technology company that designs, develops and sells consumer electronics and gaming hardware. In the gaming world, they are probably best known for their high-quality mice devices.
Razor controllers that are compatible with the Raspberry Pi include the Junglecat mobile, Raiju mobile, Wolverine, and Raiju PS4 gaming controllers.
Junglecat mobile gaming controller
Released in 2019, the Razor Junglecat is a dual-sided Bluetooth controller designed for Android mobile phones. The two sides of the controller are combined by using the divider.
As with most controllers on this list, the Razor Junglecat has double analogue sticks, a D-pad, 4 face buttons, Start and Select buttons, left and right shoulder buttons, and left and right trigger buttons.
Raiju mobile gaming controller
The Razer Raiju Mobile gaming controller (released in 2018) is another controller meant for Android mobile phones. It differs from the Razer Junglecat in that it has an extendable phone holder on the top and a more traditional game controller layout.
Even though this is a mobile gaming controller, the Razor Raiju Mobile boasts a plethora of buttons. They include a D-pad, two clickable analogue sticks, four face buttons, Select, Back, Home and Start buttons, left and right shoulder buttons, left and right trigger buttons, left and right multifunction grip trigger buttons, and left and right multifunction shoulder trigger buttons on the back of the controller.
Retro-Bit Classic USB controllers
Also works with:
Retro-Bit is a 3rd party video game hardware manufacturer that focuses on retro Sega, Nintendo Switch and Nintendo 64 controllers. Although they also manufacture after-market controllers with their original ports, this post is about their USB, Bluetooth and RF controllers.
All their game controllers are available on their Retro-Bit Amazon Shop.
Retroflag Classic USB controllers
Also works with:
Retroflag is a 3rd party video game hardware manufacturer that focuses on retro cases and retro game controllers for the Raspberry Pi. They currently have 3 game controllers available namely the Classic USB Controller M, Classic USB Controller U and the Classic USB Controller J.
All the Retroflag Classic USB Controllers have the same buttons namely, a D-pad, Select and Start buttons, four face buttons and left and right shoulder buttons.
All their game controllers are also available on the Retroflag Amazon Shop.
- Get the Retroflag Classic USB Controller U (Upad) from Amazon.com
- Get the Retroflag Classic USB Controller M (Mpad) from Amazon.com
- Get the Retroflag Classic USB Controller M (Jpad) from Amazon.com
Sony PlayStation controllers
Over the last few decades, Sony has released various official controllers with their game consoles, the Sony PlayStation line. All versions of Sony’s game controllers can be connected in some or another way to the Raspberry Pi.
PSone and PlayStation 2 controllers
Also works with:
Back in the day, Sony Computer Entertainment used its own port type to connect the classic PlayStation/PSone (1994) and PlayStation 2 (2000) controllers.
The PSone controller comes with directional buttons, Select and Start buttons, 4 face buttons and left and right trigger and shoulder buttons.
In addition to this, the PlayStation 2 controller also has two analogue sticks, each with its own button and DualShock technology. The face buttons on the PS2 are also pressure-sensitive.
The PlayStation/PlayStation 2 consoles/controllers were so popular that USB adapters became available, and are still available today. PSone/PS2 to USB adapters either come as single or double adapters. There are many variations available.
SIXAXIS Controller
Also works with:
The Sony SIXAXIS was the official controller of the PlayStation 3 released in 2006. It was also part of the DUALSHOCK range. This wireless Bluetooth controller can be connected to the Raspberry Pi.
The SIXAXIS has 4 face buttons, a D-pad, left and right shoulder and trigger buttons, a Home button and Select and Start buttons.
DUALSHOCK 4 Controller
Also works with:
The Sony DUALSHOCK 4 (released with the PlayStation 4 in 2013) is considered to be amongst the greatest game controllers ever made. The Raspberry Pi can be connected to a DUALSHOCK 4 controller using its USB cable or Bluetooth. In addition to this, the DUALSHOCK 4 can also be connected to a Raspberry Pi using the Sony USB Wireless adapter.
The Sony DUALSHOCK 4 controller has a D-pad, four face buttons, left and right shoulder and trigger buttons, Share and Options buttons and a Home button.
DualSense 5 Controller
Also works with:
Great news for new PlayStation 5 owners is that the DuelSense 5 Controller can be connected to the Raspberry Pi using its USB cable or Bluetooth. Sony released their DuelSense 5 Controller with the new console in 2020.
As with the DUALSHOCK 4 controller, the DuelSense 5 controller has a D-pad, four face buttons, left and right shoulder and trigger buttons, Share and Options buttons and a Home button.
SteelSeries Stratus Duo controller
Also works with:
SteelSeries is a Danish manufacturer of gaming peripherals and accessories. Their Stratus Duo is a dual wireless game controller that can connect to the Raspberry Pi using either Bluetooth or 2.4GHz RF.
The Stratus Duo has a D-pad, four face buttons, left and right shoulder and trigger buttons, Select and Start buttons and a Home button.
Valve Steam Controller
Also works with:
With the correct information and some additional tweaking, the Steam controller can also be used on the Raspberry Pi using Bluetooth.
The Steam Controller has 2 hepatic trackpads, one analogue stick, 4 face buttons, left and right shoulder and trigger buttons, Back and Play buttons and a Home button.
The battery offers up to 80 play hours but needs to be replaced or recharged using an external charger. The USB cable will work even if no batteries are present.
Unfortunately, the Steam Controller has been discontinued but is still available from some online sources.
Xbox controllers
Microsoft launched the Xbox game console as an alternative for PC gamers. The Xbox 360, Xbox One, Xbox One Elite, Xbox One S, and Xbox Elite Series 2, are all compatible with the Raspberry Pi.
Xbox 360 Controller
Also works with:
The Microsoft Xbox 360 was released in 2005 and is compatible with the wired USB or wireless Xbox 360 controllers. Both these controller types can be used on a Raspberry Pi, but the wireless type will need a Wireless Gaming Receiver.
The Xbox 360 Controller is equipped with a D-pad, left and right clickable analogue sticks, 4 face buttons, Start, Select and left and right trigger and shoulder buttons.
Xbox One and Xbox One Elite controllers
Also works with:
The Xbox One (launched in 2013) was the successor of the Xbox 360 and the Xbox One Elite controller was released for the Xbox One in 2015. They are both wireless 2.4GHz controllers that can be connected to a Raspberry Pi using USB cables or wirelessly using the Xbox Wireless Adapter for Windows 10.
Over time, the Xbox One Controller got an upgrade to have wireless Bluetooth connectivity. The non-Bluetooth (i.e. the 2.4GHz) version has a plastic sleeve around the home button. The Bluetooth version of the Xbox One Controller can also connect wirelessly to a Raspberry Pi.
The Xbox One Controller is equipped with a D-pad, left and right clickable analogue sticks, 4 face buttons, Start, Select and left and right trigger and shoulder buttons. The controller has up to 30 play hours with 4 hours of charging or the AA batteries can be replaced.
With an almost identical front layout to the Xbox One Controller, the Xbox One Elite controller has an extra Profile button. On the back, the Elite Controller has additional left and right trigger lock buttons and four additional paddle buttons.
- Get the Microsoft Xbox Wireless Adapter for Windows 10 from Amazon.com
- Get the Microsoft Xbox One S Controller from Amazon.com
Xbox One S and Xbox Elite Series 2 controllers
Also works with:
The Xbox One S (aka Xbox One Series S) was released in 2016 as the revised edition of the Xbox One. Fortunately, the official Xbox One S controller also saw some improvement. With its, now standard, Bluetooth these controllers can also connect to a Raspberry Pi.
Microsoft released the Xbox Elite Controller 2 in November 2019. While the form factor compared with the first Xbox One S and Xbox Elite controllers, it was made to have more advanced features with added customisation. As with the Xbox One S controller, the Elite 2 controller comes standard with Bluetooth that can connect wirelessly to a Raspberry Pi.
With only the addition of the dedicated share button, the Xbox One S and Xbox Elite 2 controller both have a very similar layout to the Xbox One Controller. It has a D-pad, left and right analogue sticks, 4 face buttons, Start, Select and left and right trigger and shoulder buttons.
Summary
Conclusion
Focussing on original controllers, this post discussed and listed Raspberry Pi-compatible game controllers. Game controllers can be connected to the Raspberry Pi using USB, or wirelessly using Bluetooth or 433MHz radio frequency technology.
If you know of any game controller that can be connected to the Raspberry Pi, please use the comment section below.