Keyboard Builders' Digest
Holy cow! 30% off at Kemove! Code: KBDNEWS

Issue 112 / Week 3 / 2023

This is a hand-picked selection of last week's content from a keyboard enthusiast's perspective. Posts that may teach you something, make you think and contribute to the common knowledge of the DIY builder community.

View mode: compact | normal | full



Behind the Scenes of Issue 112 interview, new discounts, vendor/meetup database updated, new donors, etc.

Hey y'all,

Welcome back for another edition of Keyboard Builders' Digest (this time Issue #112), a weekly roundup of this DIY keyboard focused newsletter and blog from Tamas Dovenyi – that's me. If you are new to this, you can read how this started out and what this is all about nowadays. If you like what you see, you can subscribe to the newsletter (free) and donate some bucks to keep this otherwise free and ad-free project alive.


The project is pretty much in low-power mode. While I try to keep an eye on the hobby and bookmarking cool projects, the blog is updated only occasionally these days. My wife is still in hospital and I'm juggling with work and taking care of my daughters. I hope I'll be able to get back on track soon.

There was no newsletter last week as I try to skip on the most time-consuming parts of running the blog while focusing on the core features.

That said, there has been a lot of new subscribers to the mailing list in the past two weeks, as well as some new donors, so I thought I comb together a quick issue – that's why most recent posts are shorter than usual.

Also sorry if I'm not that responsive, I usually get back to you in a few days rather than a few hours.

And, while I don't have time for original content nowadays, there's an interview with me on if you want to learn more about the guy behind this project. interview

It was last November I guess when Danny reached out to me or I reach out to him for the Advent Calendar, I can't really remember. Anyway, he was going to launch an interview series on the blog and it seems I am the first one who made it to this series of posts. Thanks Danny and Kayla!

For ardent readers: I answered these questions in early December, so that's why I refer to some past events like the Seeed competition or the advent calendar, etc.

Read the full interview here:

Vendor database

  • MIKIT offered you a 5% discount. Yay, they have such cool and distinctive boards! I'm glad Evan decided to join the ranks of shops offering discounts for my readers: MIKIT is #90 in the list of vendors accepting the KBDNEWS coupon code. And this link should work as well.
  • A small update: Cyboard has been offering you a $10 discount (use the KBDNEWS discount code) for months now, but it seems the shop entry wasn't updated at the time of the announcement (Issue 94). Fixed.
  • And Prevail Key Co is going out of business. Inventory is being liquidated, the discount code doesn't work anymore.

Meetup database

As always, this meetup database is both a calendar and an archive so feel free to send me upcoming events or even ones from the recent past to make this collection as comprehensive as possible.


  • A new supporter: Jason Hazel. Thanks a lot Jason!
  • And Cyboard signed up as a recurring donor. Thanks Erik!

As I write it in my year-end summary, maintaining this site takes a lot of energy and time. (According to the Reddit Recap stats that's 100 hours per month on Reddit only.) If you'd like and can afford to help, here is the donation form.


That's all for today. Thanks for checking by.

Cheers, Tamás



The Fulcrum is a 20-key keyboard with horizontal 5-way switch joysticks – designed by ghostfaceschiller.

Fulcrum by ghostfaceshiller aka dshil138 is a split keyboard with a pretty unique use of horizontally arranged 5-way switches.

The Fulcrum Keyboard is an 20-key ergomechanical split keyboard, with two rotary encoders, and two 5-way switches. It runs on KMK circuitpython firmware – dshil138.

The 5-way joystick, plus the regular key switch placed directly below it, puts six different actions at the tip of each thumb, all with minimal movement.



Musubi is nightzombie1's attempt at making a keyboard with Kailh X switches.

Musubi is a 38-key split keyboard using Kailh X switches and Seeeduino Xiao controllers – designed and shared by Wontae Yang aka nightzombie1.

Inspired by the Dust, the design has been adjusted with elements from the author's other favorite keyboards, e.g. the TOTEM and Dilemma.

I wanted to try making a split keyboard of my own during 2022 holidays and just finished it with some trial and error. I referenced couple open source keyboards that I bought/built recently (dust, TOTEM, Dilemma) and combined elements that I like. The result is this keyboard with lots of help from Fingerpunch discord! – nightzombie1.


  • 38 keys
  • Column stagger with splay
  • 3x5 layout with 4 additional keys (three thumb, 1 pinky)
  • Seeeduino Xiao controller footprint
  • Reversible PCB
  • Slim build: 9.7 mm with and 6.7 mm without case (measured from keycap to bottom)
  • Tenting puck support


All the project files are available on Github.

Another Owl

Yet another 5x3 + 3 split keyboard and another going by the name Owl. This time by protoplancton.

After the Purple Owl we have another Owl now: Mathias Millet's (aka protoplancton/sapristi) 36-key (diodeless), MX-spaced split is a wireless-only keyboard.

Forked from the rae-dux, its a relative of the Architeuthis Dux.



Robert Walker's Eskarp is a handwired split keyboard with TPS65 touchpad.

Robert Walker aka ten_foot published his Eskarp – a handwired split with TPS65 touchpad.

Added a TPS65 touchpad from Azoteq to my eskarp keyboard – ten_foot.

TPS65 touchpad

The optional touchpad is the TPS65-201A-S from Azoteq which appears as a USB HID mouse to the host computer.

As janaka1 points out, the Azoteq touchpads are "cheaper, more sensitive and more readily available" compared to the popular Cirque trackpads:

I am building an ergonomic keyboard with a trackpad using Azoteq proxsense TPS43 and TPS65 trackpad modules. [...] These trackpad modules are bigger than the biggest Cirque Glidepoint modules that are commonly used by the ergo keyboard community. Yet they are cheaper, more sensitive and more readily available in both Mouser and Digikey – janaka1.


Block keyboard

Ben Cooper's Block is a 12x4 hotswap ortholinear keyboard with OLED display.

Ben Cooper aka bncpr published his 12x4 ortho, a hotswap keyboard with an OLED display in the gap between the halves.

Just finished building my first design. I wanted to have a first design project to play with before designing a split keyboard. It's a 12x4 design with hotswappable sockets for MX Cherry or Kailh Choh – bncpr.

The gap in the middle was added for an OLED display but also to get used to having separate sides for each hand.



The TSBYM is a custom ESP32 wireless split keyboard by cgxeiji, now with trackpads.

Originally published last year, Eiji Onchi aka cgxeiji posted an update to his TSBYM (The Space Between You and Me) sporting Cirque trackpads:

Finally got to add cirque trackpads to my ESP32 based wireless splits. I still need to do some refining on the firmware, but it works as a basic mouse and scroll wheel :) – CGx-Reddit.

According to Eiji, the firmware is still WIP, but once he cleans it up a little bit more, it will be open sourced just like the previous iteration.



Zazu is a unibody split keyboard by AlSaMoMo with some extra features.

The monoblock split Zazu by Alaa Saad Mansour aka AlSaMoMo looks like his Batreeq's big brother – still with features like a trackball, scroll ring and haptic feedback.


  • 40 keys + 3 mouse keys
  • Haptic feedback
  • Trackball
  • Scroll ring
  • TFT/LCD display
  • 5-way switch
  • Per Key RGB


The board is open-source, files can be found here:


The wireless vertical split Clavert is a handwired keyboard by stvneads.

Clavert is a vertical handwired wireless split by stvneads aka thlintw – with roller encoder and running ZMK.

Debuting my personal endgame, Clavert – vertical wireless split keyboard. Given how high I'm tenting my previous builds I thought it only make sense to make a naturally vertical board. Besides I wanted to play with ZMK for quite a while now – stvneads.

I'm not entirely sure how wrists/forearms are supported with these builds, but if you are into this kind of setup, check out similar projects like the Squeezebox and TypeSafe.



The Enclave-1 USB hub/macropad by KeyQuest_tech is now open-source.

Teased last October, the Enclave-1, a macropad and USB hub, as well as the industrial design thesis project of KeyQuest_tech has been released.

A while ago, I posted about my thesis project, the Enclave-1. Initially, I wanted to sell the product, but my goal changed, and I no longer have the time or drive to do so and manage sales. However, I've decided to make it open source – KeyQuest_tech.


As of now, the STM version doesn't work, try the AVR one:


A 3D-printed handwired monoblock split by 70rch: torch0.

The torch0 by terryorchard aka 70rch is a 3D-printed handwired monoblock split keyboard.

Inspired by Joe Scotto's builds and videos.

The initial inspiration for this build was the Alice layout, but a columnar-staggered, Kailh low-profile, 40% remix with some extra ergonomic tweaks inspired by the 6x3 Corne. A big reason was to avoid doing a split for my first project so I could get my head around wiring and firmware and prove to myself I can actually make a board that works – terryorchard.


More info and STLs on Github:

Tips & Tricks


CDSA is a new sculpted spherical Choc keycap profile shared by Alescito: a remix of LDSA and Cherry.

First and foremost, the author of this profile is not associated with LDSA or

That said, the CDSA (sorry Darryl, "Tilted spherical choc keycap" doesn't work as a name) is Alescito's personal remix of spherical dish and Cherry tilt for Kailh choc V1.

I have created a new profile based on LDSA and Cherry. This new profile merges the dish of LDSA with the tilt of Cherry – Alescito.

The author used Darryl's STLs as inspiration but he designed the CDSA files from scratch ("The bottom part is just a horrible extruded cube"). Otherwise these caps are shorter and the dish is a little bit smaller.


Files on Thingiverse:

QMK RGB Matrix configuration

The focus of Sadek Baroudi's tutorial is how to properly configure RGB Matrix especially for non-trivial ergo keyboards with angles and column stagger.

How to properly configure RGB Matrix for keyboards is moderately straightforward for traditional row stagger boards, but it can be very challenging to get it right for ergo boards with angles and column stagger.

This is a guide to easily calculate the precise numbers required to configure rgb matrix in a way that ensures that the effects are rendered perfectly on your keyboard, no matter the shape, size, key orientation, etc...

Calculating the values

First and foremost, let's collect all the appropriate values for the x/y coordinates of the leds.

The first step is to set your grid size to the max [ed: in KiCad]. This makes it easy to select the footprints at the center when using the measurement tool.


Next you'll want to select the measurement tool, and measure from the left most key to the right most key. Take that number and write it down somewhere. You don't need to consider if the number is negative. Just use the absolute value. This applies to all the steps in this whole process.


Repeat the same step as above, but measure from the top most key to the bottom most key.


Now, this is to highlight what you'll need to do for each key for the X position. Select the left most key, and measure from its center to each key. Copy the X value.

Note: You don't need to do this yet, as this will come after you create the spreadsheet.


For the Y position, select the top most key, and measure from its center to each key. Copy the Y value.

Note: You don't need to do this yet, as this will come after you create the spreadsheet.


The spreadsheet

Create a spreadsheet with 5 columns, as shown below.

led number: The number of the led in the series. It's important that you track the order, and measure in order. You will use in QMK firmware.

x: The x distance from the left most key, as measured in the previous step

y: The y distance from the top most key, as measured in the previous step

x formula applied: This is a formula used to translate the raw value to the QMK position. In this example, 266 is the total distance from the left most key to the right most key. This is the number from the fisrt measurement step. The rest of the formula should remain as shown in the screenshot below.

y formula applied: Same purpose as the x formula, but for the y value. In this example, 87.319 is the distance from the top most key to the bottom most key, as measured in the second measurement step.

You can see that I circled the x distance value that I measured in the previous step. The example above is the 3rd led in the series, so it went in led number 2 (since I start at 0)


Same comment as above regarding the y value, circled in red


QMK configuration

With the info in the spreadsheet, you have everything you need to populate the rgb matrix common configuration: idcommon-configuration

This is the led configuration for the example keyboard above.

  • For the first section, you just need to map the key matrix position (in your KEYBOARD_NAME.h) to the led number in the series. This is well documented in QMK
  • For the second section, this is where the work you did just came in very handy. Go down the list of the spreadsheet you just made, and make a pair for each row in the spreadsheet using the x formula applied, y formula applied values
  • For the last section, based on the series of the leds, decide whether or not that particular key is a modifier or an alpha. If a modifier, use 1. If an alpha, use 4.

led_config_t g_led_config = { {
      2,   8,  14, 9, 15, 26, 27, 3   ,
      1,   7,  13, 10, 16, 25, 28, 4   ,
      0,   6,  12, 11, 17, 24, 29, 5   ,
      NO_LED, 31,  33, 35, 37, 36, 39, NO_LED ,
      NO_LED, 30,  34, 32, 38, 41, 40, NO_LED ,
      NO_LED,   23,  19, 18, 20, 21, 22, NO_LED 
}, {
}, {
    1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1,
    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    4, 4, 4, 1, 1, 1
} };


The end

That's all there is to it! You have now configured your per key rgb to generate perfect effects.


This is a repost of Sadek's original tutorial. Check out his github for more guides and resources.

Humla laptop adapter

A laptop adapter plate for the Wee Humla by Lenbok.

Fellow redditor Lenbok published a 3D-printed bottom plate/case to lock a Humla in place:

Just whipped up a bumper case this weekend with a bottom that is customized for my laptop to let it sit in place over the existing keyboard without activating any of the buttons and keeping it essentially locked in place – Lenbok.


As commenters pointed out, many laptops use the keyboard for heat exhaust, so make sure it doesn't overheat while you're using such a setup.


STLs and the OpenSCAD code are available in the author's github repo.

Essentially all you need to do to adapt for a different laptop is to create a KLE layout for the laptop and suck that json in as described in the README in my repo) – Lenbok.



Engikeeb is an experimental ultra-low-cost approach to keyboard design – by customMK.

David Hoelscher of customMK published an ultra-low-cost keyboard concept and WIP keyboard PCB dubbed Engikeeb.

What makes this approach very affordable is the single-PCB structure:

While thinking of ways to make mechanical keyboards more affordable, I had an idea for a "Single Board Keyboard" (SBKB): a single PCB intended to be the entirety of the keyboard. No case required. No switch plate required. Minimal soldering required – David Hoelscher.

In the author's opinion such a PCB would have:

  • holes for low-cost rubber feet providing adjustable typing angles
  • a footprint for Pro Micro-compatible microcontroller boards
  • inexpensive surface mount diodes pre-installed per-switch to reduce assembly time (and potential error)
  • other inexpensive support parts pre-installed, like a reset button, a slide switch, a JST connector for batteries, shift registers (to simplify the switch matrix), and status lights.
  • support for multiple layouts, with each switch location marked to indicate the intended key size
  • the option to add displays and/or an encoder

The target cost for the PCB would be around $10 or less.

For layout options and more info read David's full blog entry here.

That was Issue #112. Thanks for stopping by.

This issue was made possible by the support of:, MoErgo Glove80, u/chad3814, Aiksplace, @keebio, MKUltra, @kaleid1990, Upgrade Keyboards, Sean Grady, Cyboard, Keebstuff, cdc,, u/motfalcon, Jacob Mikesell, KEEBD, Bob Cotton, kiyejoco, FFKeebs, Richard Sutherland, @therick0996, littlemer-the-second, Joel Simpson, Christian Lo, Lev Popov, Christian Mladenov, Spencer Blackwood, Yuan Liu, Daniel Nikolov, Skyler Thuss, u/eighty58five, Caleb Rand, Jason Hazel, Davidjohn Gerena, Arto Olli, Fabian Suceveanu, Mats Faugli, anonymous, Hating TheFruit

Your support is crucial to help this project to survive.

Discussion over at r/mk!