Reversible Construction Option
I like to re-use project components in future projects when possible instead of committing them permanently to a single project. I opted to use a proto-breadboard with female headers soldered to it for the Feather TFT, and for all of the button and LED connections. That, along with the alligator clip jumpers used to connect the buttons makes this project easy to take back apart and re-use the primary components.
If you are less concerned with committing your parts to a permanent project you could easily just solder wires connecting the buttons, LEDs, and proto-breadboard together. You could also solder the feather to the proto-breadboard if you'd like.
Prepare the Arcade Buttons
The arcade buttons come with 4 total connection points on their bottom side:
- LED Power
- LED GND
- Button IO
- Button GND
We can save ourselves the need for running all 4 wires if we tie the button GND and LED GND together. Then we'll just need a single GND wire, plus the LED power and the Button IO for a total of 3 wires to each button.
Connect the GNDs by soldering a small piece of stiff copper wire between the Button GND and the LED GND.
Use a multimeter, and if needed a low voltage power source to confirm the proper connection points for GND. If you accidentally tie together any two pins besides the two GNDs the circuit will not function properly!
Fritzing Diagram
This diagram shows the wiring needed for the project. In this diagram the wires are color coded to match the buttons, i.e. the green wires in this diagram are meant to go to the green arcade button and it's LED. Each arcade button also needs a GND connection, which is represented in the diagram by black wires.
Pin Connections
The buttons need to be wired to the microcontroller as follows:
- Feather Pin GND - Ground rail on the edge of the breadboard
- Feather Pin A0 - Yellow LED
- Feather Pin A1 - Green LED
- Feather Pin A2 - Blue LED
- Feather Pin A3 - Red LED
- Feather Pin D5 - Yellow Button
- Feather Pin D6 - Green Button
- Feather Pin D9 - Blue Button
- Feather Pin D10 - Red Button
- Ground rail - Tied GND connection on each of the arcade buttons
Solder Headers
If you do want the build to be mostly reversible then you'll be soldering the following female header pieces to the proto-breadboard:
- Long Feather Header Row - Accessible from the top, soldered on the bottom
- Short Feather Header Row - Accessible from the top, soldered on the bottom
- 4x1 (at least) Header Row for GNDs - Accessible from bottom, soldered on the top. In-line on the ground rail.
- 4x1 (at least) Header Row for LEDs - Accessible from bottom, soldered on the top.
- 4x1 (at least) Header Row for the Buttons - Accessible from bottom, soldered on the top.
Note that the Feather headers should be accessible from the top of the proto-breadboard. The headers for GND, LEDs, and Buttons are opposite and should be accessible from the bottom of the proto-breadboard.
I used headers that were a tad longer than necessary, so there are extra solder points visible in the photo that aren't required in order to the project to function. Theoretically they could be used to expand the game to more buttons and LEDs.
The sets of four outlined by green boxes in the photo below are the connections that are absolutely necessary.
Note that you could shift the headers left or right on the breadboard, you don't need to use the exact same numbered breadboard pins that I did. The important thing is that you align the feather headers correctly relative to the LED and Button header pieces so that the appropriate pins are connected as listed above
GND Jumper
Solder a small wire to jump GND on the micro-controller to the ground rail on the outside of the perma-proto breadboard.
The wire itself is on the top of the board, and gets soldered from the bottom.
Alligator Clips To Buttons
The pack of alligator clips available from Adafruit contains 12 connectors which is exactly what we need for this project (3 wires * 4 buttons). It also contains wires in the colors of yellow, green, blue, and red, the same colors as our buttons. However I opted to use different color wires for LEDs and Buttons in an attempt to more easily keep them straight. To that end, I decided on this color coding scheme for my wires:
- Black & Blue wires are used for GND
- Yellow & Red wires are used for LEDs
- Green & White wires are used for Buttons
Text editor powered by tinymce.