Skip to content
The next evolution of GPioneer! Create virtual gamepads with your GPIO pins!
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
config fixed config menu title (gpioneer to gpionext) Jun 30, 2019
cursesmenu Update Mar 23, 2018
.gitattributes 🍭 Added .gitattributes & .gitignore files Sep 18, 2017
.gitignore added device sync on release Oct 11, 2017
LICENSE Initial commit Sep 18, 2017 Update Oct 1, 2017 removed unnecessary UInput import Oct 3, 2017 update bash commands Sep 19, 2017
gpionext.service better release detection Sep 23, 2017 add joystick module for testing purposes Oct 11, 2017 Update Oct 17, 2017
usr-bin-gpionext Update usr-bin-gpionext Apr 30, 2018


A Python Based GPIO Controller
This is a GPIO controller that is fully compatible with RetroPie (and PiPlay). For anyone that is familiar with Adafruit's RetroGame Utility, this is very similar. The main difference being that this is user friendly and full featured.

What's New?

  • Configuration tool to auto map buttons to keystrokes
  • Graphical Command line interface allows you to configure controls even on "lite" OS's
  • supports button combinations for additional keystrokes
  • map multiple keystrokes/commands to a single button
  • It supports system commands! (you can map volume/shutdown/etc to buttons)

How to install

in terminal type:
cd ~
git clone
bash GPIOnext/
That's it! The installer is still very much in the beta stage, so let me know if you have problems. But I have tested it on several clean raspbian/piplay images with no problem.

How to use

After the installer runs, you will be prompted to run the configuration tool. Just follow the command prompts to set up any controls that you want. After exiting, type 'gpionext start' to run the daemon in the background You can stop/start/run config from the command line simply by typing any of the following:
gpionext stop
gpionext start
gpionext config

GPIOnext Flags

gpionext set combo_delay [#] - the delay in milliseconds to allow for combos to be pressed

  • default: gpionext set combo_delay 50

gpionext set pins [#,#,#|default] - the pins that gpionext will configure and watch

  • default: gpionext set pins default
  • example: gpionext set pins 3,5,38,40

gpionext set debounce [#] - the delay in milliseconds to allow for button debounce

  • default: gpionext set debounce 1

gpionext set pulldown [true|false] - set gpio pulldown resistors instead of pullup

  • default: gpionext set pulldown false

gpionext set debug [true|false] - write output to /home/pi/gpionext/logFile.txt

  • default: gpionext set debug false

gpionext set dev [true|false] - write output to console

  • default: gpionext set dev false
You can’t perform that action at this time.