Go to file
tarneo 842617d2fa
Add flatfootfox series to credits in README
2024-03-16 11:16:02 +01:00
footprints Add spacing between battery pads (avoid shorts) 2023-10-24 14:43:30 +02:00
.gitignore Add a bunch of misc files 2023-05-29 11:41:41 +02:00
LICENSE Create LICENSE (GPLv2) 2023-05-28 18:30:14 +02:00
README.md Add flatfootfox series to credits in README 2024-03-16 11:16:02 +01:00
build.sh build.sh: also watch footprints/ for changes 2023-10-22 18:58:08 +02:00
config.yaml Replace P6 with P5 2023-10-24 14:48:01 +02:00
logo.svg Move logo to new board part between pinky and batt 2023-10-22 20:00:57 +02:00
package-lock.json Add a bunch of misc files 2023-05-29 11:41:41 +02:00
package.json Add gen script to package.json 2023-10-23 12:21:17 +02:00
picture.jpg Replace picture 2023-11-15 17:31:30 +01:00



The Triboard is an ergonomic, split mechanical keyboard using hotswappable Kailh Choc switches and any Seeed XIAO compatible controller. Its main feature is being super small and therefore portable, without compromising on ergonomics/usabitity.


Three builds are possible:

  • 34 keys, wireless, with ZMK on XIAO nRF52840 controllers
  • 36 keys, wired, with QMK on XIAO RP2040 controllers*
  • 36 keys, wired, with KMK on XIAO ESP32C3 controllers*

*: Nobody has published QMK or KMK firmware for this keyboard yet. Only build the RP2040 or ESP32C3 versions if you are ready to get your hands dirty.

On the wireless version, one thumb key needs to be removed on each half to fit the battery (therefore it is only 34 keys).

For now I have only tried a full build with ZMK but KMK seems to work well on ESP32C3 XIAOs.

The PCB is automatically generated with Ergogen and then routed by hand. You could in theory use Freerouting or similar software instead.

A flippable XIAO footprint based on a similar promicro footprint helps to make the board smaller.

PCB releases are available.

Link to ZMK config repo

Building the PCB

To build the keyboard with ergogen and open the PCB in KiCad's PCBnew, run:

npm install
./build.sh # Automatically update the PCB and reopen pcbnew whenever config.yaml changes

Here are some things you may want to change:

  • Vertical stagger values, defined in the units section at the top of the file.
  • Hotswappability: I couldn't make the board support both hot-swap sockets and direct switch soldering. Search for hotswap in config.yaml and adjust accordingly.


To make the routing process easier, you can route a single key (diode to via and vias to hotswap socket pads), select all traces (by filtering the selection from the right-click menu) and paste those traces for each key. Then connect the rest according to the KiCad nets as usual.

Where's the build guide?

As of now I haven't written a build guide. If you want to build this keyboard, just get in touch with me and I'll be happy to give you a parts list and some basic instructions.

If you've already built other keyboards yourself, here are some specificities of this one:

  • Before soldering the XIAO in, bridge the [> ]-shaped pads below it (on the same side of the PCB, so that the XIAO covers the bridged pads).
  • When soldering the XIAO, use a short length of insulated wire to connect the battery pad on the PCB (just above the top pinky key) to the positive battery pad below the XIAO. This applies only to wireless builds.