Whilst pondering the ins and outs of the NinjaCade project, it was obvious that hooking up two joysticks and a myriad of buttons was more of a job than the Raspberry Pi’s on-board GPIO can handle.
To cover as many emulators and games as possible we’ll use the standard 4 way mechanical joystick coupled with as many buttons as possible. With limited GPIO pins available on the RPi, it’s time to breakout an MCP23017 I/O Expansion chip. These kickass IC’s not only cost less than £1, they also provide 16 additional (and buffered) GPIO’s for your Raspberry Pi whilst only requiring a connection to the I2C bus.
To make the interface board hardware, I’ll need the following parts:
- 2x MCP23017 ICs & 28DIL Sockets (along with 25uF capacitors)
- 2x Clicky Joysticks (and heaps of maskable buttons) from here
- 2x Adafruit PermaProto boards
- 20x PCB Screw Terminals
- 1x 5mm LED and appropriate resistor (for a future v2 release)
I got everything that I needed from ebay…
I was pleased with the quality of the joystick but not so happy with the buttons. They’ll do for now but in the long run I think I’ll need to invest in better quality.