Software

Software installation for the Arcade Bonnet requires an internet connection. That’s a frequent topic already covered in other Pi getting-started guides, so we’ll assume here that your Pi is already booted and networked, running Raspbian or a gaming-ready OS like RetroPie.

You may find this easiest if ssh is enabled on the Pi, and then log in with a terminal app. This lets you copy-and-paste the commands that follow, as they’re very exact about spelling.

Support for the buttons and the audio amplifier are installed separately. If you don’t need the bonnet’s speaker support, you can just skip that step and use the regular headphone jack or HDMI audio in that case.

Buttons and Joysticks

Enter the following two lines to install support for the six button connectors and the 4WAY and ANALOG joystick connectors:

curl https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/arcade-bonnet.sh >arcade-bonnet.sh
sudo bash arcade-bonnet.sh

When run, this script will offer a couple of options:

  • Disable overscan? If you answer “Y” this removes the black border around the screen (common on HDMI monitors). Takes effect on next boot.
  • Install gpio-halt utility? Linux-based systems like the Raspberry Pi don’t like it when you just switch off power…there’s a specific shutdown process, else the SD card may get corrupted. The gpio-halt tool lets you add one more button between ground and any unused GPIO pin (not one of the six button sockets) to initiate an orderly shutdown. Gaming OSes like RetroPie already include a shutdown command among their menu options, so you may not need this.

When the script finishes you’ll be asked whether to reboot. Answer “N” if you plan on installing audio support, and follow the next section (“Audio Amplifier,” below).

If you need to change the key assignments: edit the file /boot/arcadeBonnet.py say with sudo nano /boot/arcadeBonnet.py

Near the top of the code you’ll see this table:

'#' lines are human comments and do nothing for the code. The first six actual elements in the table correspond to the six button inputs (labeled “1A” through “1F” on the Bonnet). Then two “0” values (these do nothing, but need to be there, don’t delete them) and another 8 elements corresponding to the 4-way and analog joystick/d-pad inputs.

Audio Amplifier

If you’d rather use the heaphone jack or HDMI audio output, this step can be skipped. Otherwise, to enable Arcade Bonnet speaker output, it’s one line:

curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash

There are no install options; it simply does its one thing. Confirm installation when prompted and reboot when done. Then re-run the script again after rebooting to test the speaker output. After the speaker test reboot once more to activate the speaker volume control

Audio will then be channeled through the Arcade Bonnet amp.

If you’re curious about what the script is doing behind the scenes, this guide lays out in detail each step performed.

Advanced Usage - Other Inputs

Additional button inputs are possible using the GPIO pin header and our retrogame utility.

This guide shows how to install and configure retrogame.

This requires configuring retrogame to only read the extra GPIO inputs! The six main buttons and joystick are already handled by the previously-installed Arcade Bonnet software; retrogame is a separate thing and they’ll interfere if accessing the same pins.

Try to use the 6 button inputs on the Bonnet. Much easier. retrogame is guru-level stuff.

This guide was first published on Feb 22, 2017. It was last updated on Oct 08, 2018. This page (Software) was last updated on May 23, 2018.