Above you see the assembled PiBoy without the tin case
4-way Navigation switch:
Datasheet: https://www.adafruit.com/datasheets/SKQUCAA010-ALPS.pdf
Display to RPi connections:
RPi Header | TFT Display |
GPIO 11 (SCLK) | SCK |
GPIO 10 (MOSI) | MOSI |
GPIO 8 (CE0) | CS |
GPIO 24 | D/C |
GPIO 25 | RESET |
5v | VCC, BL |
GND | GND |
Emulators that are readable:
- GameBoy
- GameBoy color
- NES
Button configuration:
GPIO | Function | Keyboard key |
5 | Left | Left arrow |
6 | Right | Right arrow |
13 | Up | Up arrow |
19 | Down | Down arrow |
26 | A | Numpad 7 |
21 | B | Numpad 8 |
20 | Start | Z |
16 | Select | X |
12 | L | 5 |
23 | R | 6 |
RetroArch key config:
add this to /opt/retropie/configs/all/retroarch.cfg
input_player1_a = keypad7
input_player1_b = keypad8
input_player1_y = keypad5
input_player1_x = keypad4
input_player1_start = z
input_player1_select = x
input_player1_l = num5
input_player1_r = num6
input_player1_left = left
input_player1_right = right
input_player1_up = up
input_player1_down = down
input_player1_l2 = num7
input_player1_r2 = num8
input_player1_l3 = num9
input_player1_r3 = num0
You also may want to add the following to easily exit the emulators
input_enable_hotkey = z
input_exit_emulator = x
To make this config work in your emulators you have to go to your emulator config file and append this#include "/opt/retropie/configs/all/retroarch.cfg"
Adafruit-Retrogame config:
ioStandard[] = {
// This pin/key table is used when the PiTFT isn't found
// (using HDMI or composite instead), as with our original
// retro gaming guide.
// Input Output (from /usr/include/linux/input.h)
{ 5, KEY_LEFT },
{ 6, KEY_RIGHT },
{ 13, KEY_UP },
{ 19, KEY_DOWN },
{ 20, KEY_Z },
{ 16, KEY_X },
{ 26, KEY_KP7 },
{ 21, KEY_KP8 },
{ 12, KEY_5 },
{ 23, KEY_6 },
{ -1, -1 } }; // END OF LIST, DO NOT CHANGE