GPIO controllers (EN)

NeeeeB edited this page Jul 16, 2017 · 9 revisions
Clone this wiki locally

recalboxOS is build with the mk_arcade_joystick_gpio driver that can manage a controller directly connected on rpi GPIO.

So if you plan to make a Bartop, Arcade cab, or a portable panel, you don't even need an usb controller.

The driver can manage up to 2 controllers composed of a 4 direction joystick and 9 buttons.

If you are on a RPI1 B revision see directly the mk_arcade_joystick pinout


Let's consider a 7 buttons cab panel with this button order :

 ↑   Ⓨ Ⓧ Ⓛ  
← →	 Ⓑ Ⓐ Ⓡ Ⓗ

With Ⓡ = Right trigger = TR, Ⓛ = Left trigger = TL and Ⓗ = HK = Hotkey

On RPI B+, RPI2 and RPi3 you must connect your buttons as specified by this pinout :

rpi2 pinout

NB: The bottom of the picture is where are USB ports on the Pi.

You can connect you button directly to the ground as the driver enable gpio internal pullups.


In recalbox.conf, enable the gpio driver by setting controllers.gpio.enabled to 1 : controllers.gpio.enabled=1 and you're done ! The GPIO are configured out of the box in the frontend and systems.