Hardware, Software, and Wetware on the Bleeding Edge

The keyboard works!

Writing keyboard firmware was actually not as hard as I thought it might be. Typing this post right now using it. Of course I had a major oversight in that I omitted the backspace in the original layout but that was fixable in the firmware. Just don’t rely on the silkscreen on the PCB for the key mappings!

I’m not sure why some of the third-party keyboard firmware packages are so bloated that they need a 32-bit ARM core to run! In contrast I’m running on an 8-bit Arduino Micro / ATMega 32u4 with 523 lines of code, much of which are the huge switch statements that handle the key mappings. When I get the WS2812B LEDs it will probably not take much more to add code to drive them. Perhaps that’s the overhead of making a firmware that is customisable for non-programmers.

There are only a few more refinements to do before I consider this done. It was a fun and simple project to do. I’ll release the schematics and code on Github soon, after I find the time to clean it all up.

Leave a comment