

Tern
30-key hot swap keyboard based on the Hummingbird
- Size
- 219.3 × 105 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 95
- Nets
- 44
- Pads
- 404
- Tracks, vias
- 421, 44
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 19 Jul 2023
- Updated
- 24 Apr 2025
Overview
Tern is an open-source printed circuit board by rschenk, from the rschenk/tern repository on GitHub, published under the MIT licence. It is a 2-layer board of 219.3 × 105 mm with 95 parts on 44 nets, routed with 421 tracks and 44 vias.
Its parts include 30 diodes and 30 switches. It belongs with the keyboards and input boards of this library.
README
README.mdTern
Terns are small white seabirds that can hover, but it's also a 30-key keyboard based on the Hummingbird! Differences from the Hummigbird:
- Hot swappable
- Spaced for Chosfox CFX keycaps (tighter than normal choc spacing)
- Pinky keys are dropped down
- Thumbs are more reachy

I much prefer reachy thumbs vs tucky thumbs. Years of wiping out on skateboards means my right thumb doesn’t really make that tucking motion anymore.
The other deviation from the hummingbird is that I’m using the upper pinky key as my homerow. I’m using my pinky column as home and bottom rows, not top and home rows like the hummingbird does. Cognitively I like the hummingbird’s solution better, but after cutting a stack of cardboard prototypes, I just had to admit to myself that my pinky does not enjoy extending upwards.
Case


There are laser cutting files for a case in case. The switch plate is made from 1/16" acrylic, and there is a 0.6mm silicone gasket sitting between it and the PCB. I don't actually think the switchplate does anything functional but it looks more finished. There is a file for cutting a sheet of self-adhesive foam for the back which really helps to dampen the sound. I used 1mm sticky backed EVA.
Firmware
This uses an identical matrix to the Hummingbird, so you can just lie to your firmware and tell it that it's a Hummingbird. As I mentioned, though, since I dropped the pinkies and use them as home-bottom, using the stock Hummingbird config will make your keymap look a bit strange.
I've published a config as a ZMK module that tweaks the matrix mapping to allow your keymap to reflect the actual position of the keys, and provides this physical layout to ZMK Studio: rschenk/zmk-keyboard-tern.
If you don't use modules, or prefer the old school way, then copy the contents of firmware/zmk into your zmk config.
Build Guide
Build guide and bill of materials are here
Want Sculpted Keycaps?
I designed this board for Chosfox CFX keycaps, which are 1mm narrower than standard Choc keycaps such as MBK. The CFX keycaps are great if you like flat uniform keycaps, but if you want something sculpted, I forked the Chicago Steno repo and resized them to fit the CFX spacing. They are also sprued so you can 3D print them from someplace like JLC. See rschenk/cfx_chicago_stenographer
Thanks
- Hummingbird for the original idea and matrix
- Rufous for the basis of the Ergogen config and routing
Parts
95| Qty | Value | Footprint | References |
|---|---|---|---|
| 30 | ComboDiode | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +14 | |
| 30 | ChocBonusGoodies | SB1, SB2, SB10, SB11, SB12, SB13, SB14, SB15, SB16, SB17, SB18, SB19, SB20, SB21, SB22, SB23 +14 | |
| 30 | PG1350 | S1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +14 | |
| 2 | MountingHole_2.2mm_M2_Pad | PAD3, PAD4 | |
| 2 | MountingHole_2.2mm_M2 | PAD1, PAD2 | |
| 1 | xiao-ble | MCU1 |
Questions
How big is the Tern PCB?
It measures 219.3 × 105 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Tern use?
95 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 Tern KiCad files?
From the rschenk/tern repository on GitHub, at the commit this page was made from: the board is pcb/tern.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Tern 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 layers104.9 × 75.2 mm

- 2 layers224.6 × 72.2 mm

- 2 layers70.5 × 64 mm

Esp32
ste2425/PSP-Bluetooth
Formerly PSP-Consolizer, PSP-Bluetooth aims to add Bluetooth controller support to the PSP 1K/2K/3K.
95 parts108MIT - 2 layers35.1 × 103.1 mm

- 2 layers360 × 120 mm

DG Custom PCB
a-wai/ampfactory
A collection of tube amplifier schematics for guitar and bass
95 parts77GPL-3.0 - 2 layers145.1 × 107.7 mm

Aurora l
Musab-Hassan/aurora_keyboard
A gorgeous split wireless ortholinear keyboard that you can build yourself.
95 parts64GPL-3.0 - 2 layers65 × 40 mm

- 2 layers164 × 73 mm
