TMK github: https://github.com/pancinteractive/tmk_keyboard
QMK github: https://github.com/pancinteractive/qmk_firmware
matt3o guide: https://deskthority.net/workshop-f7/how-to-build-your-very-own-keyboard-firmware-t7177.html
I personally use these as my daily driver, but many find that they are perfect as a travel board when commuting between work and/or school.
Now, if you want something that is absolutely foolproof for fitting everything together and don't mind sacrificing the aesthetic beauty of switches, see the pic to the right. This is an image of two switches with the plastic housing within the plate, melted and filed away such that the teensy now sits directly between each. Again, this is not completely necessary, and can be avoided by devoting time to a pragmatic wiring diagram.
IMPORTANT NOTE: When completing the wiring from the rows to the teensy, you need to solder the wire AFTER/BELOW the diode itself, rather than above it. See the below image:
Assuming you wire the keyboard exactly as how it is described in the matrix.c file, you should be able to use the MAKE command on your machine to build the firmware for your specific keyboard layout.
For those that are looking for a Cliffs notes (do those even exist anymore?) on flashing, here's a quick and dirty step-by-step:
- Download and install all necessary dependencies as described in matt3o‘s guide
- Download and unzip TMK/QMK from the github page
- locate the matrix.c file, and modify it to reflect your chosen ports, how they relate to your columns and rows, and the order in which they are wired in sequence
- Open a command prompt in the folder within which the Makefile is located, and run the “make” command. This should generate the .hex file. If it does not, go back to step one and make sure that everything is set up correctly in your build environment
- Either plug in the keyboard without the bottom screwed on (to have access to the flash button on the teensy), or just plug in the teensy before you even start soldering anything to the pins. It is not essential that the teensy be wired to anything in order to flash the board. Press and hold the flash button for two seconds.
- The keyboard is now in flash mode. Open Teensyloader.exe and press the “File” icon (it’s the first one on the left). Navigate to and select your .hex file
- Press the “flash” icon (the green arrow pointing downward). You will see a progress bar and upon completion, you’ll have successfully flashed your board
- Press the “reboot” icon (the green arrow pointing right) to get your board back to a useable state
- Test, confirm, hug, enjoy!
Going over the matt3o link above will help you get acquainted with the TMK firmware's more important features. If you are looking for some more involved functionality, you can check the QMK firmware github page for some additional goodies.
A: Here's my fork of the tmk firmware that houses the minorca and sebright layouts. That's basically the entirety of the documentation on how to use TMK in general, and this board specifically. Check out the matrix..c file in the keyboard/sebright or keyboard/minorca folder.
Your best bet is to 1) learn about the TMK firmware and how to the function layers, then 2) configure your own keymap file and flash it to the board. This way you can be in complete command of the board and the functionality it can provide.
Q: How long should it take to build from start to finish?
A: it should take about 3 hours at a careful pace to do one yourself. The firmware is written, and it's really just "slot a into hole b" but with solder to hold it in place. I always find the most time consuming part is soldering the diodes. So tiny and finicky!
Q: Where can I get switches and other accessories for the build?
A: Everything is housed in one location at switchtop.co! You can get a kit with everything but solder and an iron there!
Q: What are the dimensions of the board?
A: Both boards measure in at 9.42” by 3.42”. The height off of the desk depends on whether you use rubberized feet and the profile of keys you mount.
Q: What are the current default layouts for your keyboards?