I’ve built a lot of ‘weird’ keyboards using QMK or ZMK to write the firmwares. Check out my keebs:
Void 40
QMK-powered firmware: here.
μc: ATMmega 32U4 on a Sparkfun Qwiic Pro Micro USB-C breakout board.
My first mechanical keyboard, as well as my first 40% and ortholinear keyboard. I thought the Void 40 would be a fun weekend project and talking piece, and that I’d never actually use the board. Once I finished building it, however, I started typing on it. Much to my surprise, I found the compact board to be incredibly comfortable. No more stretching my fingers out to reach numbers and symbols, and I never had to move my wrists, except when reaching for the mouse. I also learned that I hit the “b” key with my right hand, because on a traditional staggered keyboard, the “b” is smack dab in the middle, and I’m right-hand dominant. Apparently, a refined individual is supposed to hit the “b” with the left hand though, and the ortholinearity of the Void 40 emphasized that notion. So, arguably, using an ortholinear board encouraged me to adopt better typing habits.
Planck in Custom ‘Planckeneko’ Case
QMK-powered firmware: here.
μc: ARM STM32 integrated into the main PCB.
I used the PCB from the popular Planck, but I use the “Unified Daughterboard Project” to separate out the USB-C port from the rest of the PCB. Doing so enabled me to gasket-mount the ‘motherboard’ PCB, such that during typing use, the motherboard can ‘bounce’ on the gasket, without also bouncing the USB port (motherboard + daughterboard format breaks the rigid relationship between the USB port and the rest of the keyboard). I designed the case from scratch, and had it machined at JLCPCB. I provide open-sourced files for the case design here.
Bloid 40
QMK-powered firmware: here.
μc: ATMmega 32U4 on an Adafruit Feather 32U4 Bluefruit breakout board. Uses BLE 2.4 GHz with a nRF51822 transceiver.
This keyboard is basically the Void 40, but with some changes I made to accommodate for Bluetooth. I designed and built this keyboard for use with QMK, before ZMK became a thing. If you’re looking to build a wireless custom keyboard, I’d highly recommend using ZMK and using a ZMK-compatible μc. ZMK should be used for any wireless keyboard build. For wired builds, I think QMK is still better. I document my build of the Bloid40 here.
Plaid (USB-C variant) in Custom ‘Qlavier’ Case
My QMK-powered firmware: here.
μc: ATmega328P integrated into the main PCB.
This keyboard is the USB-C fork of the popular Plaid keyboard. I designed the stacked laser-cut case from scratch, and had a friend laser-cut the files. I provide open-sourced files for the case design here.
Atlas
My QMK-powered firmware: here.
μc: STM32F072C0T6 integrated into the main PCB. As of 2023/10/21, this particular STM32 chip requires using a USB hub when flashing the keyboard (thanks QMK Discord for solving this one). Hardware is strange.
This keyboard is the Cannon Keys Atlas ortholinear keyboard. I use this keyboard for playing computer games, because I need access to number keys, modifier keys, and alpha keys, on the same layer, when playing games. This keyboard supports some fun RGB backlighting effects. I document my build of this keyboard here. Fun fact, the current keycaps are mostly the ePBT x GOK Kuro/Shiro keycaps, mixed in with the spacebar and the “super” key of the Drop black-on-white DCX keycap set. The combination looks pretty seamless to me.
I use this keyboard a lot. Recently, I’ve had to solder some of the switches directly into the PCB, because the Kailh hot-swap sockets have started to tear off the circuit board. I heard this could be an issue with frequent hot swapping, but I never actually experienced the issue until now. Basically, every time one inserts a switch into a socket, a little bit of friction from the insertion pushes the hot-swap socket back and away from the PCB. The hot-swap sockets are soldered onto pads, not throughholes, of the PCB, so the sockets aren’t affixed to the PCB in a reliable way. On a similar note, I’ve had to jump some connections on the keyboard matrix, because the PCB joints near the sockets have started to fray.
Brane
My QMK-powered firmware: here.
μc: ATMega 32U4 integrated into the main PCB.
This keyboard comes from P3D Store, which sadly no longer operates. The case is cerakoted, and the back features an artsy engraving of a brain. This keyboard supports RGB backlighting effects, but I never use them. They don’t work with the aesthetic of this board, in my opinion. This keyboard is arguably my most premium board. It looks and sounds incredible.
Technik
My QMK-powered firmware: here.
μc: Some kind of STM32 integrated into the main PCB.
This keyboard comes from Boardsource. I’m using a black aluminium case.
Techinkable
My ZMK-powered firmware: here
μc: I’m actually not sure, I never took a look at the label on the chip. The μc is integrated into the PCB.
This keyboard comes from Boardsource and is designed by Pete Johanson of ZMK, himself. This keyboard is a seamless Bluetooth keyboard.
Faux-Fox Keyboard V2
My ZMK-powered firmware:
μc: Nordic nRF52840 on a nice!nano v2 breakout board.
The PCB for this keyboard is designed by Sadek Baroudi of Fingerpunch. I got the case for this keyboard resin-printed at JLCPCB. I spray-painted the case in blue. I installed a Cirque trackpad onto this keyboard, even though ZMK doesn’t yet support Cirque hardware…. A bit of an oversight on my part. I’m married to the idea though, so I’m waiting for ZMK to start supporting the Cirque trackpads one day. There is at least one fork out there that experimentally supports the Cirque, but I haven’t gotten around to tinkering with those forks yet. I’m using a pair of cool EVQWGD001 horizontal rotary encoders. I document my build of the keyboard here.
Libra Mini
My QMK-powered firmware:
μc: ATMega 32U4 on an Arduino Nano clone breakout board.
I got this keyboard from AliExpress. The joystick is pretty cool. Given that this keyboard is a staggered layout, I don’t ever actually use it. It’s more of a decorative piece. I found the firmware for this keyboard as VIA-compatible .json
file. I plan on rewriting the firmware for QMK.
Corne (full wireless)
My ZMK-powered firmware: here.
μc: Two Nordic nRF52840s on nice!nano v2 breakout boards (one per keyboard half).
My first true wireless split keyboard, where both halves are wireless. This keyboard is still read as a single device (as it should), as opposed to two separate devices, even though each keyboard half actually has its own μc.
Corne (wired with OLEDs)
My QMK-powered firmware: here.
μc: Two ATMega 32U4s Bit-C breakout boards (one per keyboard half).
This keyboard features two OLED screens. The left half of the keyboard featuers an animation with a WPM display. The animation animates faster as the user types faster. I document my build of this keyboard here.