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.
Carefully fold the battery back down, set the Arduboy on top of the case front and buttons, and close up the back of the case. You'll want to only use the two top screws so you don't pinch the wires. Alternately, you could cut a small groove in the Arduboy's plastic case at the bottom to give the wire's room to escape even when all four screws are in place.
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
Again, you can refer to the wiring diagram above. Trim the white plastic JST connector off of two pairs of arcade connector wires, then strip the ends. Two of these will connect to ground and two to the D7 and D8 pads respectively on the Arduboy.
Place a small piece of heat shrink tubing over one wire in each pair to be soldered. Then, twist the wires together, solder, and cover with the heat shrink tubing, then heat it to shrink.
Note: you can connect all of the ground wires together and solder/heat shrink the connection.