Keyboard firmware

Since getting into building custom keyboards as a hobby, a big part of the fun for me has been working on firmware for each of them, either to add support for something I’d like, or to customise the keyboard’s keymap in order to change the layout to something I prefer.

Because it happens in a domain that I don’t have that much practical experience with, namely programming microcontrollers in C, it also gives me the chance to learn something too. So while the work I do is simple and mostly hangs off the side of the main thing the keyboard firmware is doing, I’ve learned how the keyboard community’s firmware of choice, QMK works in other areas, be it the OS that QMK is built on top of (ChibiOS), the quantum layer that implements most of QMK’s features, the drivers it has for various embedded or connected peripherals and things like LEDs, or libraries like LUFA and V-USB which implement USB in software on microcontrollers that don’t have dedicated USB peripherals built in.

Anyway, I thought I’d keep a running log of the things that I’ve done in this space so that I can refer back to it in the future.

  • Added ASCII to keycode LUTs for UK keymaps
  • Completed support for the Graystudio COD67 including VIA
  • Added ISO UK support to the Graystudio Space65
  • Added VIA support to the Graystudio Space65
  • Added VIA support to the Graystudio Think6.5 (both variants)
  • Added LED range control to the Think6.5 so all three LED zones can be controlled independently
  • Added support for the Ace of Spades TKL including VIA
  • Added ISO UK support to the Matrix Noah
  • Added support for the CapsUnlocked CU65 v2 including VIA
  • Added support for the CapsUnlocked CU80 v2 including VIA