Firmware for my custom ergonomic keyboards, using Teensy 4.0's, Adafruit nRF52840's, and even maybe an RP2040 or two.
MIT License
Firmware for my fully custom orthogonal, ergonomic keyboards:
I have been refactoring this stuff a bit, and it's cleaner, but still not quite
where I want it to be. Once I'm happy with it, I'll probably write more about
how to use the software. For now, you'll just have to stare at it. You need to
install the arm-none-eabi version of GCC, as I hate the Arduino IDE and have
been using a tool I built to just
use make -j <...>
to build & flash the firmware.
(A little out of date)
I designed & manufactured these keyboards all myself. They're using a pair of AdaFruit Feather nRF52's, same as the ErgoBlue keyboard I wired together myself. The reason for the new designs are two-fold:
The walnut keyboard (top) I've called 'FreiKeys'. It's got an aluminum keyplate and a 2500mAh battery in each half. The lower one is called 'Karbon'. The keyplate is milled out of 1.5mm carbon fiber. The middle layers are 3D-printed PLA (space for a battery, etc...) and then the back 2mm carbon fiber. Karbon is the second generation of my custom keyboard. The primary problems I had with FreiKeys are that the placement of `/~ and =/+ were pretty hard to hit reliably, which is frustrating while coding, and I just don't really use the bottom row (except for the curly brace/brackets) and when I did, they were highly inconvenient to actually hit. So I removed the bottom row, and moved around the thumb keys enough so that hopefully it will be easier to hit the `/~ and =/+ keys with my thumbs. I'm enjoying it thus far, though typing this paragraph is the first time I've used this keyboard :D.
For these keyboards, rather than cutting an aluminum plate and manually wiring the matrix, I designed a PCB, with a spot to put the Feather controllers. This was the first time I've designed (and milled) a PCB, as well as the first time I've milled aluminum, and carbon fiber, so it's been an adventure. A few key points worth noting:
Stuff I've learned from FreiKeys:
Stuff I've learned from Karbon:
Here's stuff that doesn't live on GitHub (A bunch of AutoDesk Fusion 360 projects)