Adding external controls to a game system can sometimes be a bit tricky, as you need to reverse engineer things to understand how they work. Not so in the case of the Arduboy! Its open source nature means there are readily available schematics online, and there are easily accessible pads available on the printed circuit board (PCB) for testing and soldering! (Thanks to the Arduboy community and Kevin Bates for all the info!)
Here's a section of the schematic with the pins for the switches called out:
To get started, turn off the Arduboy, then grab your screwdriver and open up the case. Remove the back of the case and you'll see the battery. CAREFULLY lift up the battery (the tabs are fragile, so it's good to support them while working in there), and you'll be presented with the beautiful silkscreen!
We'll connect the four switches of our joystick and the two buttons to the following pads, using the color of wires noted (you can also refer to the wiring diagram below):
- Joystick UP to A0: RED
- Joystick RIGHT to A1: WHITE
- Joystick DOWN to A3: BROWN
- Joystick LEFT to A2: YELLOW
- Button A to D7: BLUE
- Button B to D8: GREEN
- all grounds to GND: BLACK
Cut 10" lengths of your silicone wires and strip some insulation from the ends. Since we need six distinct colors, I cut two lengths of the white wire and colored one brown with a permanent marker.
Next, tin the ends of the wires to prepare them for soldering to the board. You can follow the above list and image for the location of the solder points. I like to tin the pads with a bit of solder, too, and then bring the wire to the pad and reheat both to make a good connection.
You can now test your connections by turning on the Arduboy and grounding each of the wires by touching them to the black wire. This will operate all of the four D-pad direction buttons and the A and B buttons. If everything is working fine, you can move on to soldering the wires to the joystick and arcade buttons.
Next, you'll connect the silicone wires to the wiring harnesses/interconnects of the joystick and buttons. The joystick switch wiring connector has five conductors:
- Red = UP
- Orange = RIGHT
- Brown = DOWN
- Yellow = LEFT
- Black = ground
The red arcade button will be the Arduboy's button A, so it'll connect to Arduboy blue and ground.
The clear/white arcade button will be the Arduboy's button B, so it'll connect to Arduboy green and ground.
The connections from the Arduboy will be as follows:
- Red to joystick red
- White to joystick orange
- Brown to joystick brown
- Yellow to joystick yellow