36 key choc hotswap keyboard, wireless, very thin
MIT License
A 36 key Choc-spaced monoblock keyboard that's wireless compatible, hot swappable, gasket mounted, and very thin. Inspired by the chocV and Horizon.
The Egret's bottom plate has cutouts for the hotswap sockets, essentially the thinnest board possible with hotswap sockets. Silicone gaskets sandwiching both sides of the PCB dampen sounds and vibrations. The entire bottom is covered with rubber sheet so you can use it right on your laptop keys if you're so inclined!
The bottom plate is cut out to accomodate the hotswap sockets, making it about as thin as is physically possible to make a hotswap board. The entire bottom is intended to be covered with rubber, sililicone, EVA, etc, so you can put it down on right over your laptop's keys. Yes this actually works and is useable!
There are two ways to build it, with LED underglow (glow-profile case) and without (low profile case). The LED version requires a different bottom plate which is 1.5mm taller than the low-profile version, but everything else is the same between them—same PCB, top plate, gaskets, etc. Either version can be used with bluetooth! Obviously running the LEDs will drain your battery much faster, but it's easy to have the best of both worlds by configuring ZMK to automatically enable LEDs when plugged into USB and disable them when on battery power.
Egret is not in the main QMK repo yet (or probably ever) but it's easy to add to your local.
Assuming you already have QMK set up on your computer, copy the contents of ./firmware/qmk
to qmk_firmware/keyboards/egret
. There is a very minimal basic keymap for you to start with.
cp -R ./firmware/qmk /path/to/qmk_firmware/keyboards/egret
cd !$
cp -R keymaps/default keymaps/your-github-username
Egret is not in the main ZMK repo but it's easy to add. Assuming you already have a zmk-config setp already, copy the contents of ./firmware/zmk
to zmk-config/config/boards/shields/egret
, then make the usual setup. There is a basic minimal keymap for you to start with.
cp -R ./firmware/zmk /path/to/zmk-config/config/boards/shields/egret
cd /path/to/zmk-config/config
cp boards/shields/egret/egret.keymap .
touch egret.conf
This board is generated with the amazing ergogen tool, then post-processed with KiCad and vector graphics drawing tools. I used several custom footrpints to pull off the "horizon construction" on the bottom plate. Since ergogen does not currently support adding footprints at runtime, I Dockerized it and copied my footprints into the image. The Dockerfile lives in ergogen/container
and can be run with a little wrapper script I wrote in ergogen/bin/ergogen
.
To generate the board (which you should not need to unless you want to change something):
$ cd ergogen
$ bin/ergogen egret.yml
If you decide to edit a footprint, you'll need to remove the image and rebuild it.
# Only if you modify a footprint, rebuild the image like so:
$ docker image rm -f ergogen-egret && bin/ergogen egret.yml