Skip to the content
PCBKitNew board
2 layers223.1 × 94.9 mmEgret, the printed circuit board in 3D

36 key choc hotswap keyboard, wireless, very thin

Size
223.1 × 94.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
100
Nets
69
Pads
628
Tracks, vias
617, 12
Pours
2
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
13 Sep 2022
Updated
19 Jul 2023

Overview

Egret is an open-source printed circuit board by rschenk, from the rschenk/egret repository on GitHub, published under the MIT licence. It is a 2-layer board of 223.1 × 94.9 mm with 100 parts on 69 nets, routed with 617 tracks and 12 vias.

Its parts include 47 diodes and 36 switches. It belongs with the keyboards and input boards of this library.

README

README.md

Egret

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!

wired-and-wireless

Features

  • Choc hotswap sockets with Choc spacing
  • Gasket mounted
  • On/off slider switch and JST plug for battery power
  • Totally flat bottom, so you can put it right on top of your laptop keyboard and Miyoku on the go
  • Optional LED underglow for wired mode, if underglow is your thing. It's very much my thing
  • Two bottom plate options: lowpro mode for the thinnest board physically possible, or glowpro mode for epic underglow at the expense of a couple mm of thickess.

Wicked Thin and Flat

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!

profile

on-laptop

bottom-plate

egret-vs-fifi

Build Guide

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.

Firmware

QMK

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.

sh
cp -R ./firmware/qmk /path/to/qmk_firmware/keyboards/egret
cd !$
cp -R keymaps/default keymaps/your-github-username

ZMK

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.

sh
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

Tweak Your Own With Ergogen

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):

shell
$ cd ergogen
$ bin/ergogen egret.yml

If you decide to edit a footprint, you'll need to remove the image and rebuild it.

shell
# Only if you modify a footprint, rebuild the image like so:
$ docker image rm -f ergogen-egret && bin/ergogen egret.yml

Parts

100
QtyValueFootprintReferences
36PG1350S1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +20
36ComboDiodeD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +20
12MountingHole_2.2mm_M2_PadPAD2, PAD3, PAD4, PAD5, PAD6, PAD7, PAD8, PAD9, PAD10, PAD11, PAD12, PAD13
11VAL**WS2812BLED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8, LED9, LED10, LED11
1ResetSW_1sideB1
1ProMicroPadCutoutsPAD1
1E73:SPDT_C128955T1
1JST_PH_S2B-PH-K_02x2.00mm_AngledJST1
1ProMicroMCU1

Questions

How big is the Egret PCB?

It measures 223.1 × 94.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Egret use?

100 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Egret KiCad files?

From the rschenk/egret repository on GitHub, at the commit this page was made from: the board is pcb/egret.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Egret design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers390 × 37 mmButtonsLEDs, the printed circuit board in 3D

    ButtonsLEDs

    shanteacontrols/OpenDeck

    A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.

    100 parts960Apache-2.0
  • 2 layers196.3 × 118.7 mmMotherboard, the printed circuit board in 3D

    Motherboard

    Redherring32/OpenTendo

    An Open-Source HardWare (OSHW) recreation of the original 1985 front-loading NES Motherboard

    100 parts860
  • 2 layers76 × 40 mmProto ufl pi board, the printed circuit board in 3D

    Proto ufl pi board

    PantsForBirds/adsbee

    Open Source Embedded ADS-B Receiver

    100 parts344GPL-3.0
  • 2 layers155.8 × 76.2 mmGamepad, the printed circuit board in 3D

    Gamepad

    vsfteam/vsf

    Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

    100 parts341Apache-2.0
  • 2 layers103.3 × 63.7 mmUsb power hub, the printed circuit board in 3D

    Usb power hub

    dilshan/usb2-power-hub

    4-Port High Power USB 2.0 Hub

    100 parts189MIT
  • 2 layers174 × 96 mmSgkb right, the printed circuit board in 3D

    Sgkb right

    sago35/tinygo-keyboard

    USB HID keyboard firmware for tinygo

    100 parts119MIT
  • 2 layers65 × 30 mmSynthtest, the printed circuit board in 3D

    Synthtest

    cnlohr/cnhardware

    My dumping grounds for all my kicad projects and random hardware bringup.

    100 parts114
  • 2 layers50 × 70 mmLcdtap rp2350, the printed circuit board in 3D

    Lcdtap rp2350

    shapoco/lcdtap

    A tool for mirroring or capturing I2C/SPI LCD displays

    100 parts85