Following the QMK tutorial for building your own hand-wired keyboard is pretty straight forward until you reach the part where you actually want to flash your keyboard. It just tells you to download the QMK toolbox and click flash. The thing is: The toolbox is only available for Windows. But if you’re using Linux don’t fret. Here is how you flash your own hand-wired keyboard without booting Windows even once.
How I got here
When I twisted my right hand this summer in a freak cargo bike related accident (these things are heavy!) I realized, that without a right hand, I am pretty useless at my job. So, I invested into a ergonomic mouse and went to look for an ergonomic keyboard as well. Not satisfied with the available options, I looked into making my own. And down the rabbit hole I went!
I ended up using the katana60 but also designing my own numpad from scratch, because it’s quarantine time and I needed to distract me from the impending doom. I followed along the official tutorial but hit a road block when it came to flash the firmware to my board. The instructions where Windows only and I – a certified Linux nerd – did not feel like booting (and possibly rebooting until all updates are installed) my Windows for that.
But it’s actually really easy. Here is what you do.
Install the QMK CLI on your computer. If you are on manjaro/arch it’s in the official repos. For other repositories, read here.
Now, I needed to add this line to the rules.mk because I had a sparkfun pro micro and the bootloader wasn’t recognized:
MCU = atmega32u4
BOOTLOADER = caterina
You’re almost done. In the root folder of your QMK firmware run
This will download some needed libraries and code and stuff I guess. Then grab a pair of tweezers and type
Now, before you hit enter, touch the RST and GND pin with the tweezers and only let go when prompted for an USB device. Otherwise, you might get this nasty error:
avrdude: butterfly_recv(): programmer is not responding
It should say, that it reprogrammed the chip. After that, you should be able to immediately use the keyboard.