I had an old IBM USB numpad sitting around gathering dust and while still useable, it had rubber dome membrane keys. While not a deal-breaker, I've been wanting to get into custom mechanical keyboards and this was a good introduction.
1 Donor USB numpad
17 Cherry compatible switches of your choosing (I used Kailh Box Whites)
17 1N4148 through hole diodes
1 3D printed case (I used this model with some slight modifications: https://www.thingiverse.com/thing:1699785
1 Set of keycaps (I used these)
1 Set of plate-mount stabilisers. You'll need 3 2u stabilisers.
4 M3 screws
Step 1: Dissasemble and Reverse Engineer the Matrix
Remove the controller board and matrix from within the number pad and take a look at how things are laid out.
Rubber dome key switches work by pressing contacts on each layer of the matrix together. The goal in this build is to replicate this same matrix but with mechanical switches.
Separate the three pieces of the matrix and discard the blank, middle piece.
Each dot on the matrix represents a switch, on a number pad it's pretty easy to keep track of what's what.
I went through and labelled which row/column went to which pin on the controller board. This can be done just by following the traces back to the plugs on the board and comparing them.
Step 2: Begin Wiring/soldering
- Insert the switches in the plate (it's easier to install your stabilisers now but on a handwired build like this it's not crucial, you can make it work later)
- I found it easier to make a loop on one end of the diode before placing it over the switch pin as this gave somewhere for the solder to adhere.
- Begin by soldering the diodes to the pins you intend to use for your rows (it doesn't really matter which one as long as you're consistent). This can be seen in the second picture.
- You'll notice if you compare the third image to the row layer from the matrix that they match. Your goal is to match the matrix exactly.
- Bend up the other lead from the diodes and place a piece of wire across them. You'll need to strip out a section of the wire so there's gaps in the insulation.
- Once the rows are complete, repeat this with the columns (no diodes required for the columns)
NOTE: The polarity of the diodes is important! If you wire them backwards from what the polarity of your controller board is (like I did initially), it will not work. Easiest way to verify this is with a multimeter set to DC voltage. Connect to one row terminal and one column terminal and observe whether the measurement is a positive or negative number. Use this inform your decision on diode orientation.
Step 3: Wire Up the Signal Lines
- Desolder the plugs from the controller board where the matrix connected and replace with the wire you'll use to connect to your shiny new mechanical switch matrix
- Use the guide you wrote out on which pin goes to which row/column you created in Step 1.
Step 4: Finishing Up!
- Install your stabilisers into your plate (if you haven't already in Step 2)
- Assemble the case and screw pieces together using your M3 screws.
- Install keycaps and you're done!