I have been playing the Premium Beta of Elite Dangerous. It is a great game even it its current form, however like most games if its type there are LOADS of buttons to remember. Some you will use all the time, others not so much. In order to help me play the game a little better (and to add a little realism) I have made myself a custom keypad.
Step 1: Build the Circuit Part 1
To start with you will need:
- 25 x tactile switches
- 25 x AdaFruit 5mm NeoPixels
I cut out 6 bits of circuit board:
- 1 @ 6 tracks x 21 holes
- 3 @ 6 x 29
- 2 @ 6 x 37
First I placed all the LED's and buttons in place and soldered them in (legs go in the solver holes in the diagram). After that I used a track breaking tool to remove the tracks to prevent shorts/wrong connections etc (the dark orange boxes on the diagram).
Step 2: Print the Box - Connect the Parts
Next I printed the case STLs so that I could check fitment of the boards just made. It also allows to be used as a jig while soldering as very little gets soldered from the underside.
First solder in the power wires - it will be difficult to solder these once the rest is soldered. I 'surface' mounted them on the underside of the board rather than going through the holes.
Next is a process of monotony unfortunately! I applied some solder to the data in and out pins of the LEDs and also the the row legs of the buttons - this is on the non-track side. I striped some single core cable and soldered one end to the data out leg of the first LED. I bent the wire over to the data in of the next LED, cut it to length and then soldered it down. I repepated this for all the LEDs (except the data outputs of the last LEDs as these will need connecting to the data in on the following line). I repeated the exact same process for the buttons row pins. The legs on either side are connected so can be used as a 'bridge' connecting one switch to another.
The column legs of the switches needed some extra thought. Without any insulation they would short out on the other wires just installed. I stripped out some multicore cable and used its thin strands to connect to the buttons column legs, using short pieces of the single cores insulation to cover over where it crosses other bare wires.
Finally I ran some longer cables for each of the Rows, Columns and the first LED's data input ready for connecting to the A-Star32u.
Step 3: Connect the Microcontroller
Upload the INO file to the A-Star using the Arduino environment (you made need the guide from the Pololu website). Connect the wires for the rows to pins 0-4 and the columns to 5-10. The data for the LEDs data in goes to pin 12.
Wire the power leads to a 2.1mm panel mount socket (Maplin.co.uk code JK09K is the one I used). Also connect the ground wire to the ground pin on the A-Star.
Place the A-Star in the lower left of the case and route the cables to allow it to fit.
Step 4: Fitting the Keys
To fit the keys in place I put the top.stl face down and then the middle.stl on top of it. Then put all the keys in place. Carefully I placed bottom with the circuit in over the top of that assembly and then, holding the top, turned it over and all went into the right place. Make sure the buttons hole for the LED is orientated or it won't fit ;-)
Last thing to do is to produce the labels for the buttons. I used a Brother P-Touch with clear tape to produce. However I think it could look even better with the text clear and the background black so that the words are illuminated (much like the symbols on a car dash).