Keyboard Builders' Digest
Save 5% at Dangkeebs! Code: KBDNEWS

Issue 107 / Week 50 / 2022

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 107

Giveaway & advent calendar follow-up, vendor & discount updates, small developments, dark mode test, etc.

Hey y'all,

Welcome back for another edition of Keyboard Builders' Digest (this time Issue #107), 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.


Advent Calendar & Giveaway status

Calendar: Editing, uploading and formatting articles of the advent calendar take most of my time these days. Sadek Baroudi helps me with proofreading (thanks!). On the other hand, I may run out of these posts in a few days.

Giveaway: I have all the winners, all their shipping info was sent to the 50 sponsors in the recent days. I got some follow-up questions from some vendors, e.g. I'm waiting for a few people to choose the design of the deskmat they won, so that slows down the process, but otherwise I hope everything will be arranged in the upcoming few days. 80% of the sponsors confirmed they received the list of winners and/or have shipped the prizes already. I haven't received any feedback from 10 shops though, so that will be another round.

Vendor database

Just arrived: The coupon no longer works at at checkout. (They stopped providing coupons because they were uploaded to coupon sharing sites). Just received the heads-up, give me some time to update the site accordingly.

In the mailbox

I got a bunch of low-pro keycap samples from splitkb and moergo: POM MBKs and MCCs with homing and convex variants.


My first impression: I love this material. :D I'll take some shots later and do a comparison with other caps. Right now we have the ugliest winter weather here with almost no natural light so I either set up a proper home studio or wait for some sun.

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.


  • No new donors this week.

Thanks everyone who supports this project regularly, recurring donations keep this project alive.

Maintaining takes a lot of energy and time. If you'd like and can afford to help, here is the donation form.

Small developments

  • back to top button – OK, a keyboard enthusiast simply hits Ctrl+Home, but for mere mortals there's a button now. (And your hand may rest on the mouse anyway.)
  • I started to reimplement dark mode. For now there's a button concealed in the footer, at the very bottom of the page. I'm still working on some pages where hardcoded backgrounds have to be replaced. I tried to recolor all the eye-burning buttons and divs but there are still some rogue colors here and there. Give me some more time to fix that. That's why this feature is almost hidden in the footer so only ardent readers who get to this point of my weekly write-up will know about it. ;) Anyway, feel free to try dark mode, I've been using it for a few days. (Btw, it's implemented via localStorage, that's why it may flicker on pageload. I'll do the cookie part later to fix this.)


That's all for today. Thanks for reading.

Feel free to comment in this issue's r/mk thread, and as always: keep learning and building.

Cheers, Tamás

Advent Calendar

Keyboard Case Design

Sadek Baroudi provides a detailed walkthrough of how he designs 3D models – Starting with a PCB, and ending with a model that you can export for 3D printing.


In this guide, I'll be providing an detailed walkthrough of how I design 3D models for cases, with the intent of 3D printing them. This starts with a completed keyboard pcb from the kicad files, and ends with a fusion 360 model that you can export as an stl/3mf for 3D printing. For this guide, I'll be using the chocolad as an example. As of writing this sentence, I haven't designed the case yet!


  • You have a basic understanding of kicad
  • You have inkscape installed (only used to convert svg to dxf in a way that fusion 360 can consume)
  • You have fusion 360 installed

Follow along

I have included the kicad_pcb file used in this example. So, if you'd like to follow along with the instructions below, you can create the same exact case I did! I find that it's a good way to validate what you're reading, and gives you experience for the next case you make.

Navigate to the src directory to see the files.



Kicad is a perfect place to start, as it provides you with exact dimensions to create a case. This includes, but is not limited to:

  • PCB outline
  • Switch locations
  • Reset switch location
  • On/off switch location (for wireless builds)
  • Controller location and dimensions
  • Rotary encoders
  • OLED
  • etc


PCB footprints

So, let's first look at the pcb to make sure it has everything we need to consider when doing the initial sketch for the case. You'll want to hide the copper layers so you can clearly see the pcb and footprints to identify what you care about for the case.



Case considerations

There are 5 considerations when looking at this particular PCB:

    • The keyswitch cutouts
    • The edge cuts of the pcb
    • The mounting holes for the M2 standoffs
    • The opening for the controller, trrs, reset switch
    • The EC11 encoders

(Optional) Also note that there are 4 mounting holes for the tenting puck, which I did not include in the screen shot.



Deselect layers

At this point, you want to deselect layers until you have everything you need, while keeping as little showing as possible otherwise. In this case, User.Eco2, Edge.Cuts, and F.Courtyard leaves us with almost everything. The only thing missing is the mounting holes.



Update footprints

There was no good layer to expose the mounting holes without exposing way too much from the pcb. It's important not to expose to much, because we'll be exporting this as an SVG. By leaving too much, you have to do a lot more cleanup in SVG later. This is a tedious process, so let's add some drawings to the mounting hole footprints using one of the layers that we've identified in a previous step.


So, here we edit the footprint and add a circle centered around the mounting hole on the User.Eco2 layer, since we're exporting that already. Do this for each of the mounting holes.

(Optional) As noted earlier, you could follow the same process for the tenting puck mounting holes, and include them in the bottom plate. This would allow you to mount a tenting puck to the bottom plate of the case.

Pic: Pic: Pic:


Export SVG

Now, we export an SVG and include only the layers we identified earlier.

Pic: Pic:


Save as DXF

You don't have to use Inkscape, but I've found that Inkscape is very reliable in giving us a usable DXF file for Fusion 360. Use the R14 format, and make sure it's set to mm as the unit.



Enable capture design history

If you already use Fusion 360, you may already have this enabled, but if you don't, it's really good to enable this before you get started. Otherwise, it will be hard to make adjustments later!



Import DXF into Fusion 360

Now we go into Fusion 360 and import the DXF we just saved from Inkscape.



Check switch hole size

Check the size of the switch holes. For choc switches, they should be 13.95mm. For MX switches, 14mm works great. If you are doing this for a pcb that supports both choc and MX, 14mm is fine. It feels a bit loose for choc switches, but it'll still work fine.



Adjust switch holes size

If they are not correct, select all the switch holes, and offset them by whatever distance you need to make them 13.95mm or 14mm.

Pic: Pic:


Switch hole size confirmation

Now confirm that the switch holes are correct!



Fix edges

Look around the perimeter of the board and make sure it's a continuous shape. If you see anything that needs some adjustment, fix it in the sketch. In this case, there is an extra curve that we don't want, so let's remove that and make it a straight line.



Mounting hole cleanup

Now we need to adjust the mounting hole size to be correct. Most boards use M2 standoffs, so the hole for the screws here should have a diameter of 2.5mm. Draw a line down the center to identify the center point. Then place a point in the center. Once you do that, you can delete the existing circle and line.

Pic: Pic: Pic:


Create new mounting holes

Now that you have a point, draw a center circle around that point, with a diameter of 2.5mm. Repeat this for all of the mounting holes on the board.



Case outline offsets

At this point, we want to select the perimeter of the case, and offset it by about 1mm. If you don't do this, the pcb may not fit in the case, as you want to leave room for error from the PCB manufacturing process.


In the last step, we created the case inner wall. Now we need to create the outer wall. You should do the same exact thing you did in the previous step, but increase the offset value. If you want a 2mm thick wall in your case, select 3mm. If you want larger, increase the value as much as you like!



Switch plate extrude

At this point, we want to extrude the plate. You should select everything but the switch holes, mounting holes, and any other area that protrudes above the switch plate. In this case, we want to exclude the region that has the controller, TRRS, and reset switch. This should generally be a thickness of 1.6mm. You can go thicker, but I don't recommend going higher than 2mm.



Wall extrude

Now you want to extrude the walls in the region we offset earlier. The height of this is very important. You don't want to go too short, but you don't want to go much taller than you need. My general rule of thumb is:

  • For choc switches, 3mm if soldered, and 4.5mm if hotswap
  • For MX switches, 6.5mm if soldered, 8mm if hotswap

You can experiment with values until you get what you're looking for.



Add style and texture

I usually like to add some texture to the outline, but this is a stylistic preference, so feel free to adapt it, or skip this step if you don't mind the sharp edges.

Pic: Pic:


Adjust for other components (measure and draw)

So, admittedly, I forgot to account for the depth of the trrs cable in the case. That said, this actually serves as a great example to illustrate how to solve for it. I measure from a known point on the pcb outline, and look at the Y values (in this case). I check to the bottom edge of the TRRS port, and the top edge of the TRRS port. Then I offset by a couple of mm or so to make sure there is enough clearance for the TRRS cable end.

Pic: Pic: Pic: Pic:


Adjust for other components (extrude)

Now that we have drawn the lines and created a region to extrude, we extrude down to give room to plug in the cable.



Create the bottom plate sketch

Last step is to create the bottom plate, which you will use to screw in to the body using the mounting holes. This part is very easy! You go back and edit the original sketch. Then you copy the border of the case and the mounting holes.

Pic: Pic:


Extrude the bottom plate

Once you have the plate sketch, you extrude by whatever thickness you like (2mm is a very good sweet spot, but I sometimes do 1.6 for a slighly lower profile keyboard)



Chamfer mounting holes (optional)

If you are using countersunk screws, you can optionally decide to chamfer the mounting to help accommodate that. It helps to create a flush bottom plate. I generally consider this unnecessary, since you will usually use bump ons, which protrude farther than M2 screw heads. But if you'd like to experiment with this, see the images below as an example. The example is using a 1.6mm bottom plate, which I generally wouldn't recommend if doing this. I'd suggest using at least a 2mm thickness bottom plate.

Pic: Pic:


Complete case

You are done! Export this as an stl, print it, and do a test fit. If you need to make adjustments, you already know all the steps above. Go back into Fusion 360 and edit using the timeline.

Pic: Pic:


I have a collection of keyboards, but the ones I use primarily are: ffkb v3 and rock on v3.1.

Sadek Baroudi

sadekbaroudi, sadekbaroudi#1258
LocationCalifornia, USA
DescriptionGot into ergo mech, started designing, fell in love, never looked back
NicheUnibody splits
Fav. switchMomoka Frog v3s, Gateron Red Ink V2s, Gateron KS-3 Milky Yellow Pros
Fav. keycap profileMT3, DES

PRK Firmware's 2022

Developer hasumikin introduces the PRK firmware and sums up this year's achievements.

My name is Hitoshi Hasumi. I'm the author of PRK Firmware, and it's the reason that I'm writing this article. When looking at the KBD.NEWS Advent Calendar 2022, I saw that my entry would be one of two describing a keyboard firmware framework (the other being ZMK). I want to take this opportunity to write about how and why I made PRK, what PRK can do, what my future plans are, and what you can do for it.


I live in Matsue, Japan, which is famous for being the place where Matz lives. He is the creator of the Ruby programming language, which is used by huge web services such as Airbnb, Shopify and GitHub.

While Ruby has contributed to the development of web services around the world, its presence in the embedded programming field is not very dominant.

Pic: Matz and Hasumikin

Matz and Hasumikin

Matz wasn't leaving the situation that way. He has started writing another Ruby implementation named mruby 10 years ago. But from my point of view, mruby, especially the compiler, had a shortcoming regarding footprint. It was difficult to run it on a one-chip microcontroller that is typically used for DIY keyboards. This was the reason I wrote PicoRuby with an even smaller footprint. It's the language of the PRK Firmware.

My case is possibly unique as I'm writing both a programming language and a keyboard firmware using that language.

Unexpected reputation

To be honest, I never thought people who are not knowledgeable of Ruby would use PRK for their keyboards. When I started to write PRK Firmware in March 2021, I meant for it to showcase what PicoRuby is capable of. I wanted to develop PicoRuby into an integrated microcontroller programming framework.

However, after publishing my presentations about PRK Firmware (RubyKaigi 2021 in Japanese and RubyConf 2021 in English), a lot of people reached out to me to ask how to write a keymap.rb for their keyboard. Surprisingly, not all of them knew Ruby and many of them weren't even familiar with programming.

According to the people who actually use PRK, it turns out to be helpful to design prototypes of their new keyboards.


Let me summarize the PRK Firmware in a technical aspect here:

  • Target MCU is RP2040
  • Easy to configure. You don't need to build your firmware. Just drag and drop your keymap.rb into the mass storage
  • Working features
    • Keyscan: Direct/Duplex/Round-robin
    • RGB LED
    • Split type
    • Consumer (Media) key
    • Composite key
    • Rotary encoder
    • Joystick
    • VIA (through Remap)
    • Piezoelectric sounder
    • Num/Caps/Scroll lock indicator
    • Debouncing
  • Features that do not work (yet)
    • Combos
    • Mouse keycode from keyscan
    • Mouse/Trackball to move the pointer cursor
    • OLED display
    • Modulo (I/O expander)
    • Wireless

This year's notable implementations

VIA and Remap


You can configure your keyboard's behavior by just dragging and dropping the keymap.rb file. It is what I wanted to include in the early stages of development. I am personally satisfied with that feature because writing a Ruby script is not bothersome for me. On the other hand, I naturally understand many others will not feel the same.

That's why PRK introduces VIA feature. You can configure your keymap on Remap.

By the way, QMK Firmware has made some breaking changes including VIA-related keycodes: Link. This means 3rd party products like Remap and PRK Firmware have to decide whether to catch up or not.

The PRK community, if I can call it so, is currently discussing having PRK's own GUI system. I'm dreaming of an exclusive browser-based UI which will include PRK-specific functions such as Ruby syntax checker.



I am not a gamer and don't need a gamepad. However, I think DIY keyboards equipped with a joystick will possibly be helpful to make a prototype of consumer electronics and professional consoles. It may also be a good input device for those who have some physical handicap.

Piezoelectric sounder and MML


Do you know Music Macro Language? If so, you are a 20th century technologist.

Coming up next

As I mentioned, my ultimate goal is to make PicoRuby a microcontroller framework. To do so, I'm involved in a team which includes Matz, formulating a low-level API documentation that is common between the embedded Ruby family. Actually, this is the a reason that I still haven't implemented features like Mouse/Trackball and OLED. You may need a little bit more explanation.

Mouse and OLED will be implemented with low-level interface of I2C and SPI. If I create a high-level API of, for example, mouse, without designing a robust low-level API of SPI, there is a risk that incompatibilities will occur later due to changes in the low-level API. And it's more of a certainty than a risk, I believe so from my experience of a web developer.

Here is the good news. Our team has recently formulated the low-level API document version 1.0. It will definitely accelerate the development of those features.

Questions you may want to ask

Is PRK supporting wireless?

Currently, no. When the Raspi Pico supports bluetooth, we will probably implement bluetooth HID. But I don't think the battery would last for a long time.

Will PRK support MCUs other than RP2040?

Hmm, it's improbable, I think. But I'm personally interested in nRF52 series. Now I'm working on converting the Ruby code of PRK Firmware into a Ruby library which means it will be independent from RP2040 hardware. You will likely be able to make another PRK Firmware for another MCU.

There is an idea behind this work: I don't think it's a good way that a firmware framework packs "everything" into one repository in terms of maintainability. A concept of a library management system called "mrbgems" may help us make another PRK for another MCU in a little bit more concise workflow.

PRK is an Open Source Software

PRK Firmware is an OSS product which is published under MIT license. You can use it without any cost. There are now two active contributors, @ysni_pub and me. The development speed of PRK Firmware is not very fast because we develop it in our spare time.


Nevertheless, we will never stop. So, we really encourage you to join the development initiative. Please reach out to me if you are interested in developing and maintaining PRK itself or even writing its documentation!!!

This article was written with a "Willow" layout GPK60-W + SparkFun Pro Micro RP2040 driven by PRK Firmware + Drop MT3 Skiidata keycap set + Zomo Silicone Kitty Paw Keycaps. I forgot the name of the switches :(

Hitoshi Hasumi (48)

LocationMatsue, Japan
DescriptionThe author of PRK Firmware and PicoRuby
NicheSymmetrical layout like willow and column staggered
Fav. switchLinear switches
Fav. profileMT3
Other hobbiesSwimming, Bathing in hot springs (Onsen♨)

DIY keyboards I built in 2022

While focusing on the charm of the 21 DIY keyboards he built in 2022, Daihuku will also introduce two keyboard meetups held in Japan.


Thank you for inviting me to the KBD.NEWS Advent Calendar.

I'm Daihuku, a keyboard YouTuber. Since 2019, I have been fascinated by DIY keyboards and have assembled a total of 50 of them. On YouTube I post videos about my DIY keyboard builds and reviews.

There are many attractive keyboard designs in Japan, and I want to raise awareness of these options, so please come and visit my YouTube channel. My videos are in Japanese, but they are subtitled, so you can automatically translate them into the language of your choice.

I am not good at English so this article may be poorly written, but I hope that you can convey my passion and affection for keyboards.

In this article I will introduce two of my major initiatives centered around DIY keyboards in 2022.

First of all, I will introduce 21 DIY keyboards that I built this year.

After this I will shortly cover the second initiative. In 2022, we held two keyboard meetups called “Keeb” in Tokyo, Japan. I live-streamed these events so let me introduce them as well.

DIY keyboards I built in 2022

There are many keyboard designers in Japan who are full of ideas. Their ideas are coming to life as new keyboard models. I was fortunate enough to have the opportunity to showcase some of their kits on my YouTube channel. I have a lot of respect for keyboard designers and would love to help make more people aware of their work. Therefore, I will introduce the charm and videos of the 21 keyboards assembled in 2022.


  • Kawaii calculator style: A form that makes you feel the atmosphere of a retro calculator somewhere. It makes your desk look stylish.
  • Dedicated LED display: There are two types of dedicated LED displays. The "7-segment LED" is a green 8-digit display reminiscent of a calculator, and the "color LED matrix" can display LED effects and customizable pixel animations in an 8 x 16 area.
  • Stylish clock display: It has a built-in button battery that remembers the time, so you can display the time without a cable.

Special thanks to A&N laboratory (Twitter / BOOTH).


  • A trackball with scroll ring made by Kensington is adopted, and a mouse button is built into the case in the thumb cluster. This allows for a smooth transition between trackball and keyboard.
  • Original keycaps for bottom row: A Choc switch is used on the bottom row, and an original 3D-printed keycap with a gentle slope is included. This allows for very comfortable keystrokes.
  • High build quality 3D printed case: Adopted a 3D printed case with integrated palm rest. The molding is of very high quality, and it is characterized by a good feel. Due to its moderate width, it is not only suitable for a desktop, but also on your lap.
  • In addition, the bottom has a hole to allow you to grab with your finger for portability.

Special thanks to yakshaver (Twitter / BOOTH).


  • Radial key layout: A radial layout is adopted, aiming for the shortest keystroke distance from the home position. It has a mysterious charm that makes you feel as if the keys are placed at the end of your naturally spread fingers, and it is especially easy to reach the Y and T keys.
  • Minimal and cool design: I like the design where the front thumb clusters are curving and aligned. Beautiful design.
  • Symbol key: Attach your favorite artisan keycaps to the symbol keys placed in the center of the keyboard. It is an important 1 key that determines the expression of the keyboard.

Special thanks to takashicompany (Twitter / BOOTH / Yushakobo)


  • Compact layout: A compact and unique macro pad with 9 keys.
  • 2 units can be connected: It can also be used as a split macro pad by connecting two DogTags with a TRRS cable.
  • Use of rotary encoders and LEDs: It can be equipped with rotary encoders and underglow LEDs, and has a lot of charm, despite its small size.

Special thanks to takashicompany (Twitter / BOOTH / Yushakobo)


  • 6 key macro pad: It can be used as a wireless macro pad with flexible customization.
  • M5StackCore2: The M5StackCore2, which is still rarely used in DIY keyboards, is used as a microcomputer, and it has abundant expandability with Bluetooth, LCD monitor with touch panel function, battery, speaker, Wi-Fi function, etc.
  • Cute design: A cute design that reminds you of eggs and makes you want to keep it close at all times.

Special thanks to 4py1 (Twitter / BOOTH / Yushakobo)


  • Minimalism: Nomu30 is this 30% homemade keyboard featuring ISO enter key. Keyboard minimalism that pursues a minimal key layout for everyday use.
  • Ultimate minimalism: It is a compact, beautiful and sophisticated keyboard with 30% of the keys of a full-size layout.
  • ISO Enter: Incorporating the ISO Enter key into a small key layout, the Nomu30 is sublimated into a design that leaves a stronger impact.

Special thanks to Yushakobo (Twitter / Yushakobo)


  • Case evolved from GH60 compatible case: Major GH60 compatible cases lack flexibility in layout and decoration. GL516 solves this problem and newly designed a 65% size case.
  • Open design: Since the design data is templated, it is possible to easily design the switch plate, PCB, etc. by yourself and install it on the GL516. As a result, many users are developing GL516 compatible kits based on various ideas.
  • Commitment to keystroke feeling: Adopting a case with aluminum drilling, foam is laid on the inner bottom, and it also supports gasket mounting method. Even though it is a versatile keyboard, it does not compromise on key feeling.

Special thanks to Salicylic_acid (Twitter / BOOTH / Yushakobo)


  • Acrylic laminated case: Adopted a beautiful case laminated with transparent acrylic. It is a numeric keypad that supports backlight LED and produces LED light beautifully.
  • No soldering required: Easy assembly with no soldering required. You can start using it easily.
  • Commitment to keystroke feeling: Uses EVA foam. I have achieved a comfortable and soft keystroke feeling, and pursued the feeling of keystrokes even though it is a numeric keypad.

Special thanks to skeletonkbd (Twitter / SkeletonKeyboard)


  • 50% keyboard compatible with GL516 case: with its templated design data released, the GL516 has inspired many designers to design compatible keyboards. Spreadwriter is one of them. It is possible to replace the decoration plate and make it a high profile specification.
  • Radial key layout: A radial layout is adopted, aiming for the shortest keystroke distance from the home position. It has a mysterious charm that makes you feel as if the keys are placed at the end of your naturally spread fingers, and it is especially easy to reach the Y and T keys.
  • Symbol key: Attach your favorite artisan keycaps to the symbol keys placed in the center of the keyboard. It is an important 1 key that determines the expression of the keyboard.

Special thanks to takashicompany (Twitter / BOOTH)

wing touch

  • Integrated split keyboard with 48 keys: Although it is an integrated type, it uses a layout that is divided into left and right, so you can reduce the burden on your shoulders and arms when typing.
  • Well-designed look: The surface-mounted parts are arranged in the blank space in the center of the keyboard, and the parts arrangement has excellent design.
  • Commitment to thinness and portability: Adopting surface-mounted parts, attention to thinness and compact design are excellent in portability.

Special thanks to branc (Twitter / BOOTH)


  • Integrated minimal keyboard with 38 keys: It is a minimal keyboard that uses a split layout with angled left and right keys.
  • 0.8u size key spacing: Adopts a narrow key spacing of 0.8u (16mm) to minimize finger movement for typing. The designer also developed the original 0.8u keycaps.
  • Can be equipped with a trackball: A trackball can be installed as an option. The firmware has also been optimized for seamless cursor operation and key input.

Special thanks to takashicompany (Twitter / BOOTH)


  • 4 key macro pad: It can be used as a wireless macro pad with flexible customization.
  • M5 STAMP PICO: The M5 STAMP PICO, which is still rarely used in self-made keyboards, is used as a microcomputer, and has extensive expandability with Bluetooth, battery, Wi-Fi functions, etc.
  • Strong scalability: The true value of AZ-CORE is its strong scalability. You can connect up to 8 compatible devices with a TRRS cable, making it possible to make all devices wireless and easily customize keymaps.

Special thanks to 4py1 (Twitter / BOOTH)

Fudabako & KeyFuda04

  • Easy to start using: No soldering is required, and the firmware is already written, so you can easily start using it without having to build it after purchase.
  • Commitment to the feeling of keystrokes with an aluminum case: The machined aluminum case has a moderate weight, stabilizes typing, and provides a comfortable keystroke feeling.
  • Luxury: The unique texture of aluminum gives it a luxurious feel and satisfies the desire to own it. In addition, the mirror acrylic cover is fashionable and will stand out on your desk.

Special thanks to Salicylic_acid3 (Twitter / BOOTH / Yushakobo)


  • On display at the meishi2 exhibition: I developed an original business card-sized device "panda_station" to exhibit at meishi2, an exhibition of business card-sized keyboards held at the representative Japanese keyboard shop "Yusha Kobo".
  • A device that makes up to 8 keyboards wireless: The "panda_station" is a device for making up to 8 home-made keyboards connected via TRRS cable wireless at once.
  • Macro pad extended from AZ-CORE: By incorporating the easily expandable AZ-CORE into the microcontroller portion, I was able to concentrate on designing for improved convenience without worrying about the difficulty of working with the controller.

Special thanks to 4py1 (Twitter / BOOTH)


  • Machined aluminum case packed with attention to detail: The machined aluminum case has a built-in foam and can be equipped with an optional balance weight, allowing you to enjoy the same level of keystroke feeling as a high-end mechanical keyboard.
  • Beautiful glowing keyboard: The brilliance unique to aluminum and the Backlight LED combine to create a beautifully illuminated keyboard that captivates the user.
  • Large OLED display: Adopted a large OLED display of 64x128 size, which is rarely used in the field of DIY keyboards. The layer status etc. are displayed to enhance convenience.

Special thanks to swan_match (Twitter / Royal Keyboard works in Darkness)


  • Forked from Bakeneko65: Mikeneko65 is a 65% size custom mechanical keyboard forked from the open source keyboard Bakeneko65(v3).
  • Thorough attention to keystroke sound: The four foams reduce unpleasant reverberations inside the case and improve the sound of keystrokes.
  • A key feel that makes you want to keep typing: The soft O-ring and polycarbonate plate provided a soft and comfortable keystroke feel that I had never experienced before.

Special thanks to kinmojr (Twitter / Takishimukobo)


  • Alice layout: It has 68 keys and adopts Alice Layout. It has an easy-to-type layout and a very attractive look. In addition, no soldering is required and the assembly difficulty is low.
  • Beautiful acrylic laminated case: The case is constructed by laminating transparent acrylic. The stacked acrylic looks beautiful from the side, and also makes the underglow LED light more effective.
  • Pleasant keystroke sound: EVA foam is used to achieve a comfortable keystroke feeling. In addition, the case is sealed with acrylic to give you a mild keystroke sound.

Special thanks skeletonkbd (Twitter / SkeletonKeyboard)


  • Built-in trackball: It is a split keyboard with a built-in 34mm trackball. Keyboards with trackballs are few in number and attract many users.
  • Excellent design ball case: The ball case can roll the ball smoothly. Even if you turn it upside down and shake it, the ball will not fall out, but you can easily remove the ball with your finger for easy maintenance. The ball case clearance is excellent and central to the usability of this keyboard.
  • Rich lineup: In addition to Keyball44, Keyball39 and Keyball61 are included in the lineup. Keyball can answer various needs.

Special thanks Yowkees (Twitter / Shirogane Lab & Fab


  • Radial key layout: A 50% keyboard with 51 keys and a radial key layout. The layout is similar to the Spreadwriter, but the space between the little finger rows is tight, so it is arranged to reduce the burden on the little finger, which is not good at moving sideways.
  • Symbol key: Attach your favorite Artisan keycaps to the symbol keys placed in the center of the keyboard. It is an important 1 key that determines the expression of the keyboard.
  • Supports various keyswitches: Both MX-compatible and Choc keyswitches are supported, giving you plenty of options to choose from.

Special thanks to takashicompany (Twitter / BOOTH)

meishi Trackball Module

  • Compact business card size: A 34mm trackball, 2 key switches and 1 rotary encoder can be mounted in a business card size.
  • Elaborate trackball case: It comes with an excellent trackball case that is easy to remove and does not fall out even when turned upside down, making it a small but reliable product.
  • Reusability: The board of the trackball part is designed to be reusable, and if you have the knowledge, it is possible to mount the trackball on other keyboards using this board.

Special thanks to aki27 (Twitter / BOOTH)


  • Keyboard for LCD tablet: A keyboard for liquid crystal tablets that was designed and developed based on the voices of animators.
  • Designed to be installed on top of a liquid crystal tablet, it uses a layout of 23 columns and 3 rows to secure a large amount of space at hand.
  • Supports various keyswitch types: Both MX-compatible and Choc keyswitches are supported, giving you plenty of options to choose from.
  • Supporting options such as rotary encoders and OLEDs, it is possible to further improve work efficiency and operability.

Special thanks to kushima8 (Twitter / Yushakobo)

Mechanical Keyboard Meetups in 2022

Keyboard events have been postponed for the past few years, but thanks to the efforts of the organizers, Salicylic acid and Yukari, and the supporters Kou_Ryo, yohe, and everyone at nextbeat Co., Ltd., the Keyboard Meetup “Keeb 1%'' was held on July 11, 2022. “Keeb 2%” was held on September 26, 2022.

Participants brought keyboards to experience the feel of each other's keyboards, and showcased the appeal of their works.

It was a very lively event and received high praise from the participants. I did a live broadcast of the venue at that time on my YouTube channel, so please take a look at just the atmosphere.

Keeb 1%

Gallery: here

Keeb 2%

Gallery: here

I met with insufficient distribution facilities, and there were unexpected troubles on the day, but I aim to improve step by step and become a better distribution.


Japan has many keyboards that are unique, eccentric, and full of creativity. Many keyboard geeks first experience building their own keyboards, and gradually design and distribute keyboards.

I'm always excited to see the fascinating keyboards that are constantly being developed. I want more people to know this charm. I will continue to share the appeal of Japanese DIY keyboards globally through my videos, so please subscribe to my channel and check back.

Also, I know that there are many good keyboard designers outside of Japan. I check their activities through articles on KBD.NEWS, and I always look forward to reading them. I hope that 2023 will bring even more excitement to DIY Keyboards.

I wrote this article on a keyboard I designed myself. It is my favorite split keyboard that is compact, white and has narrowed key switch spacing with less finger movement.


LocationTokyo, Japan
Descriptionkeyboard YouTuber
Fav. switchIcy Silver Switches, Gateron north pole
Fav. profileCherry

Glove80: Rethinking split contoured ergonomic keyboard

Co-designer Stephen Cheng reviews the main design and ergonomics decisions of the eight year journey to bring Glove80 split contoured ergonomic keyboard to mass manufacturing.

This year is a watershed year for us. Chris Andeae and I took Glove80 to Kickstarter in January and we were amazed by the incredible community support. We are now in the middle of final assembly for batch 1 and with luck we should ship shortly.

Glove80 is not just another ergonomic keyboard. It was an 8 year personal journey for Chris and I. As geeks who were attached to computers from a young age, both of us developed long-term and severe RSI. Many of our friends and colleagues too were in the same boat.

Back in 2014, Chris, a few friends and I decided to make a better contoured keyboard. Lilian Malt’s genius had introduced the world to Maltron and the contoured keywell; the comfort of a contoured keyboard is simply unmatched. Chris was very familiar with the Kinesis Advantage. However we knew a vastly improved contoured keyboard could be built using techniques that were not available to the earlier pioneers. 3D printing had opened the door to further experimentation.

Design goals

Our goals were:

  • To deliver the best ergonomics possible for us: split sides, adjustable tenting, neutral tilt. Neutral tilt was particularly important. Chris had to build a sloping wooden tray for his Kinesis Advantage to achieve a neutral tilt which was essential for his comfort.
  • To work with a wide variety of hand sizes and shapes. I have short pinky fingers, and simply put, I struggle to type anything on Kinesis Advantage with my pinky fingers. We were also told by friends with small hands that there is a lack of ergonomic keyboards that work well for smaller hands.
  • A 6-key thumb cluster whose keys are all easily reachable without stretching.
  • Function keys that are full-sized and easily accessible.
  • Portable. Easy to bring to meetings and take on the road.
  • Extreme customizability.

Superficially Glove80 may look similar to other contoured keyboards such as Maltron, Kinesis Advantage360, or Dactyl Manuform. However behind the casual similarities is a deep rethinking of every aspect of a contoured ergonomic keyboard, which has led to a set of important different design choices.

These design choices were validated by 500+ ergonomic experiments and hardware prototypes, and more than 6 years of long term testing.

This is an account of our eight-year journey and some of the design challenges we faced. We hope that this could provide useful insight for others who are on a similar journey.

Before we go further, here is a Glove80 typing test video:

Scientific data for ergonomic keyboard design

We started off researching hand data and ergonomic information. We thought we could build a digital hand model, and from there determine the perfect ergonomic keyboard.

However once we dug into the scientific literature and academic databases, we were surprised to discover how sparse they were. The best we found were some papers on maximum digit movement with tiny sample sizes, and hand size databases that were limited to a very narrow set of data points such as length and width. However, to build a useful hand model we need far more, at a minimum:

  • The dimensions of each segment of the digits
  • The movement available to each joint for all possible movements

It quickly became obvious that it would be futile to create a hand model, or to design an ergonomic keyboard using such a theoretical method. The required biomechanics data was simply missing.

Scalable hardware prototyping and ergonomic experimentation

Instead we decided to design the ergonomics using empirical methods. That’s a short way of saying "building lots of physical prototypes and doing real ergonomic testing on a wide range of real people".

The biggest challenge is to be able to build physical prototypes. Traditionally, building consumer product prototypes is an extremely time consuming and costly affair. Building a CAD model and making a CNC prototype takes a few thousand dollars and a week minimum per prototype.

Earlier pioneers often used clay models, but clay models have two problems. First, a clay model is simply not accurate enough; 1 degree change in angle or 0.2mm change in position are surprisingly significant in ergonomic design. Secondly, it is practically impossible to reverse engineer from a clay model back into a digital model for manufacturing with sufficient accuracy. Finally, a hand-made model is difficult and time-consuming to make functional, which makes it hard to evaluate ergonomic ideas with real-world typing.

Pic: Imagine what it takes to turn a clay model to a digital model like this, every time you make a new clay model

Imagine what it takes to turn a clay model to a digital model like this, every time you make a new clay model

But in 2014, consumer 3D printing was finally becoming practical, so Chris and I each bought a 3D printer and we started playing. We were blown away by the power of 3D printing, but even so, printing a full keyboard took a full week of printing time.

Being software engineers and compiler writers who lived with optimizations day-in day-out, we quickly realized we could take our software experience into hardware engineering:

  • Modular architecture: similar to software design, we needed a modular architecture that allowed us to easily replace portions of the hardware prototype. This enabled us to cut the printing time required to make a change from a week to as short as 15 minutes.
  • Parametric design: When we first started this journey, we had no idea how sensitive fingers and hands are. We didn’t expect that 1 degree or 0.2mm change would be perceptible, let alone matter ergonomically. Unfortunately, that meant we needed to make many variants to optimize any particular parameter. The amount of time it took to update the CAD model quickly became overwhelming. This is where parametric design came in: by creating a parametric model, we could generate a whole series of variations for about the same effort.
  • A/B testing: We extensively relied on comparative side-by-side evaluation of two or more variants, inspired by the A/B testing method popularized by web application developers and game developers. By swapping out individual modular pieces, we could quickly iterate through a set of variations to determine the optimum. To achieve this, we had to make sure that the printable modules were fully functional, and could be quickly swapped into a working keyboard without PCB redesign or resoldering.

The goal was to build an ergonomic test jig that could work just like a real keyboard for extended long-term testing, while allowing us to easily optimize ergonomics.

Pic: An early fully-functional prototype, showing the replaceable end plates, caddies, thumb cluster and palm rest

An early fully-functional prototype, showing the replaceable end plates, caddies, thumb cluster and palm rest

Overall the ergonomic test equipment is composed of:

  • Individual key caddies for each column of keys. Each column is a separate caddy, which defines the shape of that column’s arc.
  • Two end plates, which determine the rotation angle, up/down position, left/right position, and north/south position of each caddy. The caddies clip into the end plates. This alone provides 4 degrees of freedom for each column. With 6 columns, there are a total of 24 degrees of freedom.
  • A mounting region for thumb panels, so that different thumb panel designs can be easily swapped in..
  • A contoured top cover, including the palm rest, which similarly can be easily replaced.

The ideal columnar arc: circular arc vs golden ratio

Our first attempt in designing a key column was a perfect circular arc. Circles are simple to draw, and there is beauty in their simplicity and regularity.

However, after five minutes of typing on the first prototype we realized our mistake. The human finger is composed of 3 separate segments which all bend together: with three pivot points, the finger tip moves in a shape very unlike a perfect circular arc. In fact the finger’s “natural” arc is much closer to the golden ratio spiral.


After this realization, the exercise became a long quest to find the perfect arc shape for each finger. The pinky was especially tricky due to the huge variance of pinky lengths between people. After much experimentation, we found an arc shape that works for long pinkies and short pinkies alike. The resulting shape of that arc is nothing like a circle:

Pic: A small subset of the pinky finger caddies we experimented with. Each caddy has a unique code identifying the experiment.

A small subset of the pinky finger caddies we experimented with. Each caddy has a unique code identifying the experiment.

This design isn’t universal among contoured keyboards: for example, Dactyl and Dactyl Manuform have opted to use circular arcs, while Kinesis Advantage largely defines the shape of its arcs using the contours of the keycap surfaces rather than the angle of the switches themselves.

Curved two-row thumb cluster

We tried many different thumb clusters. At first we had no idea what would work at all. We tried different block-style thumb clusters like Maltron and Kinesis Advantage.

We then tried two rows of 1u keycaps in various configurations. They worked fairly well, if the block is oriented so that it’s perpendicular to the thumb. However, our tests showed that the thumb either tended to bump into the upper row middle key, or alternatively the outer keys were hard to reach.

Pic: An early experimental 2 + 3 two-row thumb cluster, that we could easily move and rotate to explore the best position

An early experimental 2 + 3 two-row thumb cluster, that we could easily move and rotate to explore the best position

The configuration that worked best was two rows of 3 keys each. Trying to figure out why, we realized it is all about the sweeping motion of the thumb. The two-row 3+3 block works well because it can be positioned so that the thumb can reach each of the bottom row keys by sweeping out a nearly-straightened thumb without moving the palm.

Once we understood how the two-row thumb cluster works, the next steps for improvements were clear:

  • First we identified the bottom joint of the thumb (also known as the CMC joint) as the center point.
  • Then, we drew a circular arc with the thumb CMC joint as the center and the length of the thumb as the radius.
  • We placed two rows of keys along that arc, with an inner row just inside the arc and an outer row just outside it.
  • We made the outer row easier to press without interference by raising its height compared to the inner row.

This forms the basis of the Glove80 curved two-row thumb cluster, which was then further refined by lots more empirical testing. Some particular aspects that took a lot of iteration to get right were the spacing and tilt for each row, and the amount of staggering between the top and bottom rows.

Interdependence of ergonomic factors: Palm rest design

At the beginning of the Glove80 journey, we tried to design each ergonomic element independently. We ended up with what seemed like a comfortable keywell and a curved two-row thumb cluster. Then we decided to add the palm rest. A surprise awaited us.

The first palm rest gave us wrist pain after a second day of use. We were surprised, as we did not expect the palm rest design to be complicated. We continued to iterate on the design, and the palm rest progressively became more comfortable.

Pic: Just how hard can it be to design a palm rest?

Just how hard can it be to design a palm rest?

However, it soon became obvious that the keywell design that was comfortable without the palm rest was suboptimal with palm rests. With the change in hand position and angle from the improved palm rest, keys were no longer as easily accessible as they had been from the original simple palm rest. We had to re-optimize many elements of the keywell design.

This is a good illustration of how good ergonomics needs a holistic approach, and how each ergonomic factor interacts with all others, sometimes in surprising ways.

Keyboard height and neutral tilt

One of the most important ergonomic factors for keyboards is the position of the arms and wrists. The common advice is that the forearm be held roughly horizontally, and never tilting upwards, and the wrist should not be bent backwards, since this limits the blood flow and is a common cause of wrist pain.

Most keyboards, including many ergonomic keyboards, make this position difficult to achieve: they have a positive tilt, which forces the wrist to bend upwards. This is something that we refused to compromise on with our Glove80 prototype: we designed it with a neutral tilt, so that the wrist is neither bent upwards nor downwards when typing.

To allow for both a horizontal arm position and neutral wrist position, the keyboard – specifically the top of the keycaps – needs to be low enough. Unfortunately, the amount of space between your hands and your thigh is extremely limited – and that space needs to accommodate the table, the keyboard and still leave enough wriggle room for your legs. This was a problem for the Glove80 prototype. Its neutral tilt was very comfortable to type on, but it was simply too tall to use on most non-adjustable office tables.

Pic: Height comparison of the MX-switch Glove80 prototype and the production Choc-switch Glove80

Height comparison of the MX-switch Glove80 prototype and the production Choc-switch Glove80

Pic: Height comparison of Glove80 and Kinesis Advantage

Height comparison of Glove80 and Kinesis Advantage

We came to the conclusion that to keep the neutral tilt on Glove80, we needed to do everything possible to minimize the keyboard height:

  • Switching to a construction method where the switches are directly mounted on the case rather than on a separate plate
  • Switching from standard MX mechanical switches to the low-profile Kailh Choc mechanical switch
  • Selecting a short low profile keycap.

This required drastic re-engineering of the whole keyboard, while retaining exactly the same ergonomics. The lowest keys are the home row keys for the middle fingers: ‘D’ and ‘K’ for a qwerty layout. After the redesign, the top of the keycaps of these two keys is a mere 20 mm above the desk (including keycaps, keyswitch, case and feet). For reference, an MX key switch with no key cap is 19mm alone.

Keycap profile and MCC keycap

We all have different hand sizes, different typing habits and we use different applications. Glove80 celebrates customizability and with the ZMK firmware made it easy to customize the keyboard layout on the software level. To accommodate this on the hardware level, we decided to use a uniform keycap profile that allows the keycaps to be easily rearranged to match custom layouts, i.e. every key uses the same shape of keycap.

The MBK keycaps we started with were nice for the main keywell, but did not work well for the Glove80 thumb keys. They cut into the thumb, so what we needed was a cylindrical profile. That's why we ended up designing our own keycap profile: MoErgo Choc Cylindrical (MCC).

Pic: Glove80 knows how to party too

Glove80 knows how to party too

We wanted a minimal look for the production Glove80, so we decided to hide the LED indicators behind the keyswitches. To achieve this, we made our MCC keycaps using translucent POM material. This also allowed us to easily extend our plans for a few indicator LEDs into support for full RGB backlighting. Like with the keyboard itself, it took many iterations to get the POM material just right with translucency and ability to laser mark legends, but POM’s wonderful buttery-smooth typing feel is absolutely worth it.

Conclusion and looking forward

With the first mass manufacturing batch of Glove80 at the final assembly stage, our Kickstarter backers will soon be receiving their Glove80s. We started our Glove80 journey wanting to democratize keyboard ergonomics, and we are immensely grateful to our backers for making this dream real. With mass manufacturing, we are hopeful we can make top-notch keyboard ergonomics accessible to anyone who types a lot.

Looking forward, Chris and I have many extension ideas to make Glove80 even more comfortable and useful. Glove80 is designed to be extensible, with a GPIO extension header and various mounting points for accessories. We will be working on some of these ideas, and we expect our users to come up with many cool solutions too.

Pic: Template sidecar expansion module to attach to Glove80. You can add switches, dial indicators, display, touchpad or whatever you fancy

Template sidecar expansion module to attach to Glove80. You can add switches, dial indicators, display, touchpad or whatever you fancy

Special mounting is another area that we will focus on. Although Glove80 already supports many mounting methods, we believe there is much further to go. Wireless, split and custom mounting is a potent combo that could further ergonomics.

Pic: Glove80 mounted on an office chair

Glove80 mounted on an office chair


Stephen Cheng

@moergo_keeb / MoErgo
LocationWellington, New Zealand
OccupationInventor at heart; serial entrepreneur by necessity
OutlookHolistic thinking is the foundation of good solutions
Other inventionsTessellated origami furniture, OO-refactoring optimizing compilers, cross language compilers for the mobile industry, high availability middleware, harvesting equipment to boost life-cycle land-use efficiency

2022 Roundup: the year of EC

Cipulot sums up his journey in the field of designing electrostatic capacitive PCBs.

Ohayo y’all, Cipulot here!

Today’s reading is about my efforts in making EC (electrocapacitive) PCBs. My main areas of interest are Topre boards, them being Realforces (called RF from now on), HHKBs or more intriguing ones like the SONY BKE Series and μTron.

A little bit about myself

I’m an Italian industrial technician in electronics and automation turned embedded PCB designer.

During my career, I had the opportunity to come in contact with both local and international players in the semiconductor industry, who sparked my interest in embedded design and ultimately made me take this path as my career.

Currently working as a freelancer, I offer both design and consulting services for professionals in industry fields. Along with that, it has been some years since I’m involved in the custom keyboards scene, in particular the Topre subcategory (who would have guessed).

Why do I focus on EC PCBs so much?

Simply put, as it was printed on the Realforce boxes:


I like and enjoy using Topre boards, from the classic HHKB layout to the full-size variants of RF, independently of the domes weighting and localized layout (I’m an eager user of both the ANSI and JIS layouts). The more I used my boards the more I started to realize that I wanted more from them, capabilities that the stock PCB couldn’t offer. This feeling wasn’t only mine, as I watched fellow Topre users complaining about key remapping limitations and other problems.

Therefore I decided to put my experience and passion to work and make my own lineup of replacement PCBs for the major Topre keyboards, namely the RF R1 series, HHKB Pro2 / Classic / Hybrid series, 23U numpad, and many others. In the meantime, interest grew so much from members of the Topre community (thanks to you all for the support btw) that I thought about doing a separate EC PCBs family intended as a reference design for designers to build new boards around them. An EC equivalent of the H87/88 and H60 PCBs for the MX switches so to speak.

Along with PCBs developed for my personal interest I have designed multiple EC PCBs for commissions that are either in IC/GB or under development still. Some examples will follow.

All these PCBs are powered by QMK and support Vial out of the box for an easy-to-use experience for the end user. Power users can go a bit further and work with the firmware code by themselves and compile it, making changes and additions as they please.

Drop-in replacement PCBs

As the name implies these are PCBs meant to be a replacement for the OEM ones.

The idea that sparked my interest in the development of such boards was the massive harvest happening (and to be honest, still happening to this day) of the RF 91U keyboard.

This is because for aftermarket cases the Topre parts that compose the switch (housing, slider, springs and domes) are generally not included and need to be sourced by the user. Topre doesn’t sell them as a product by themselves and the only way to get them is to either harvest them from another board or resort to DES (Deskeys) parts which, in most cases, turns out to be more expensive than buying a used board all together.

This higher cost situation, combined with the insanely low prices, high availability, high quality and well-maintained/kept status of second-hand products in the Japanese used market, made harvest the de facto option for most people.

RF R1 8-9Xu

Pic: RF R1 8-9Xu prototype PCB

RF R1 8-9Xu prototype PCB


Replacement PCB for the Realforce R1 family of keyboards.

The main design goal of this project was to offer a single PCB for every layout supported by the R1 family and add some features that people wanted to have for their personal build. Specifically PC case enjoyers wanted a more streamlined way to have RGB support, therefore I added an onboard RGB header for addressable RGB strips, which can be controlled through Vial. Another addition I made to this board is multiple connectors for USB. I thought that case designers that want to use this PCB might want to move on from the OEM cable, therefore I added a USB-C port, JST SH 1.0 (the standard JST connector used by the majority of custom keyboard PCBs) along with the OEM JST EH connector.

Here’s my personal unit used for a Realforce 91U:

Pic: Full assembly for a RF 91U (NG01BS)

Full assembly for a RF 91U (NG01BS)

EC Pro 2 / EC Pro X

Pic: EC Pro 2 mainboard

EC Pro 2 mainboard

Pic: EC Pro2 w/ mainboard and Lite Controller in a S60 case

EC Pro2 w/ mainboard and Lite Controller in a S60 case

Pic: EC Pro 2 Normal Controller, featuring USB 2.0 hub

EC Pro 2 Normal Controller, featuring USB 2.0 hub


Replacement PCB for the HHKB Professional 2 and Classic/Hybrid series.

This was the project that lasted the most in terms of planning, research and prototyping this year.

It all started when a friend from Sapporo messaged me about someone who was selling a box with multiple HHKBs. Being a Topre lover of course I asked him to immediately proxy the entire lot to me. In there, to my surprise, there were a couple of HHKB Pro 2 US-ANSI layout. Contrary to what someone might think, the sales of ANSI HHKB in Japan aren’t low.

I immediately looked online to buy a replacement controller to have Vial support for them but the stock was nonexistent at the time. Meanwhile, some aftermarket HHKB cases started to pop out of Taobao and other websites so I thought to myself: “All these cases will need the PCB and parts to be built, which directly implies harvesting fully working keyboards.” Those of you that know me either IRL or online are well aware of my thoughts on harvesting.

That’s when I decided to make my replacement PCB kit, which comprises a mainboard and 2 controllers with USB-C (technically they are more like supersized daughterboards rather than controllers like the OEM one since the whole circuitry is hosted on the mainboard).

The mainboard has the same PCB outline as the OEM PCB and boosts some additional layout options. These will not be usable in the original case but I thought that in custom cases it would be nice to have them, and since a lot of users have PC cases, just like myself, RGB was a must. An addressable RGB header allows for some pretty interesting lighting options.

I’ve made 2 controllers, one with a USB 2.0 hub and another with the bare minimum ESD and EMI protection. The previously mentioned aftermarket cases usually don’t have cutouts for the USB-A ports like the original case, so it would be just a waste of money and materials to use a USB hub-equipped board in one of those.

The kit received incredible support, almost on par with the RF R1 8-9Xu, so much so that I started to think about reworking the board to make it compatible with the newer models (Classic/Hybrid series). To distinguish it from the EC Pro 2 kit, I decided to deviate from the Revision X scheme and go for a new name altogether: EC Pro X.

To do so I had to make the mainboard compatible with both cases and create a new controller board with an updated outline. Both are pretty straight forward processes and I have no shortage of boards to take measurements from. Some minor additions like holes here and there for alignments pillars were added but for the rest, the mainboard remains pretty much unchanged.

Pic: EC Pro X mainboard render

EC Pro X mainboard render

Pic: EC Pro 3 Controller

EC Pro 3 Controller

GitHub: (coming in Q1 2023)

As of now both the EC Pro 2 and EC Pro X series are wired model only. I’m developing a wireless solution but some roadblocks regarding power management need to be resolved before I am confident to release it. Better not to release than release half-functioning designs.


Pic: EC23U prototype PCB

EC23U prototype PCB


Replacement PCB for the Realforce 23U numpad.

As for the RF R1 8-9Xu, I started working on this for multiple reasons, mainly the fact that not everyone liked the default layout offered by the OEM board and some problematics related to the HID codes sent by the board not being OS agnostic. This made some features unavailable to macOS users.

The timing on this was perfect, since a fellow Topre lover and case designer, Sho, was running a GB for a custom Alu/PC case for the numpad.

I was lucky enough to pick up a PC unit and the result is truly amazing, especially with the addition of RGB and NumLock indicator:

Pic: S23 with the EC23U PCB

S23 with the EC23U PCB

Reference Designs


Pic: EC60 PCB


Pic: EC60 bottom with the SMD components and meme silkscreen

EC60 bottom with the SMD components and meme silkscreen


This has been the first reference design that I worked on. The idea was to make a 60% with the highest possible layout options so that I could determine how far I could push the design features in a small package. Mandatory meme on the PCB included.

The result was far better than what I could have hoped for and the fact that it shares mounting points for tray mount and USB-C port placement with the GH60 made it even better.

By looking at the board it’s pretty clear that this was not intended as a final revision at all, the bazillion of screw holes on the board which makes no sense is proof of that. I included as many as possible to test different configurations in the various supported layouts.

There are a couple of quirks here and there, especially if using a “normal” OEM stabilizer instead of something like the RF RGB ones. This is not the case in layout configurations like split spacebar or JIS. Apart from that, the board saw great feedback from users that got a unit and used the repository as a starting point for their personal projects.

Once both the hardware and firmware have been tested with this board the following projects saw a vast development time reduction, since the underlying core system was validated.

Some fellow designers have already started to use the board as the baseline for the case design process. One of them is Andreas, a very talented designer, who’s Project URSA has over time gathered more and more attention.

He took part in the EC PCB Round 1, which happened in early September over in my discord server, where some of the PCBs shown in this article were sold to users. Being the amazing designer he is after some time since receiving his order he worked on an HHKB case using the EC60.

Here is a collage of pictures he shared:

Pic: URSA Zero case prototype, featuring the EC60

URSA Zero case prototype, featuring the EC60

The dedication and positive reception from the user base are probably the best feedback I could have hoped for, especially since I wanted this board to be a reference design to build around.

ECip TKL (alpha revision known as EC87)

GitHub: (coming in Q1 2023)

Pic: ECip TKL PCB w/ removable USB-C render

ECip TKL PCB w/ removable USB-C render

Pic: ECip TKL PCB w/o removable USB-C render

ECip TKL PCB w/o removable USB-C render

The second item in the reference design series, features multi-layout support and it’s designed to incorporate every major feature that the rest of my PCBs have. 2 versions have been developed, one with USB-C that can be snapped from the board and one without it all together.

As for the 60%, I wanted to have the highest level of compatibility with the Mx counterpart (Hiney’s H87 to be specific) to allow for minimal redesign and headaches for designers that want to feature the board in their creation.

This time I wasn’t as lucky as with the EC60. Key spacing and relative placement of the USB-C to the key clusters remained the same, the board outline on the other hand needed to be enlarged both length and width-wise. It’s a minimal amount, although that minimal amount would have prevented the housings and domes sheet from properly compress on the edges.

The first revision is still in the works to fix some bits here and there but expect the project to go live in early Q1 2023.

What is now the ECip TKL, in the beginning, was meant to be Revision 2.0 of one of the earliest EC PCBs I worked on: the EC87.

Pic: EC87 test-bench

EC87 test-bench


As for the EC60, the EC87 was a test bench for larger matrix and debugging but it’s one of the factors that boosted the development and interest in the EC designs. I brought it with me at the 2022 Barcelona Meetup in May and a lot of people were interested in it. Great feedback and feature requests shaped the feature set and options that are now a standard for my offering.

The EC87 is deprecated since I started developing the ECip TKL so stay tuned for the release.

Commissions and various


Pic: Lilium keyboard and PCB. Picture courtesy of Gok (

Lilium keyboard and PCB. Picture courtesy of Gok (

I cherish this project for a multitude of reasons. It's not that often that I get to work on Alice boards, especially for EC designs. I worked with such layouts in the past but only in the MX scene, so the Lilium represented a nice change in phase.

The bottom row is a direct reference to the HHKB bottom row, being organized in a 1U | 1.5U | 3U ||| 3U | 1.5U | 1U configurations, effectively splitting the iconic 6U spacebar to adapt it to the ergo needs.

Caps lock indicators, as well as layer indicators, are placed in the bottom right corner of the board in an elegant way that integrates very well with the rest of the board.

Revisions and improvements will come with time so keep an eye out.

Theca Topre TKL

Pic: Theca Topre prototype PCB

Theca Topre prototype PCB

GB: Theca x Rubrehose

The design process saw some iterations dictated by multiple factors so it was interesting to see how the board evolved the more the project progressed. PCB design wise there was a small testing phase to validate some design choices and elements but those got the green light as soon as I tested them.

The artwork on the back of the PCB truly brings an interesting touch to the otherwise boring-looking black PCB that basically everyone knows and uses.

The GB ended recently with good interest from the community and buyers for the EC option, further proof that users want to have Topre-like assembly and feel in boards that aren’t necessarily Realforce or HHKBs. And this is not only coming from people that already have tried Topre in the past but new adopters that are intrigued by the design and feel. This demonstrates that the interest is there, we just needed that small “kickstart” that will put the scene in motion.

Pic: Theca using the EC PCB and a CF plate.

Theca using the EC PCB and a CF plate.

(Picture courtesy of densusdesign.)

Raita EC

Pic: Raita macropad w/ alu plate

Raita macropad w/ alu plate

Pic: Raita EC PCB

Raita EC PCB

This was a small project that I participated in, collaborating with Ankit (runner) and Sleepdealer (MX version PCB designer). It ran as a private GB and received nice feedback. Lots of people wanted to have a small EC macropad but didn’t want to resort to buying a Topre 23U or NIZ numpad, given the higher cost and lack of proper remapping.

Thanks to the low key count the PCB was simplified compared to the other designs and therefore cost went down as well, allowing a higher buyer count.


Pic: is0Topre PCB and plates, part of the very first run delivered to owners of an is0

is0Topre PCB and plates, part of the very first run delivered to owners of an is0


is0Topre PCB and plates, part of the very first run delivered to owners of an is0

is0Topre was conceived as a meme conversion kit for the is0 keypad (see Geekhack post here).

This small and fun project saw great success too despite the modifications and unusual specs of the kit. Given the difference in assembly compared to the MX kit that came with the is0 space constraints dictated the need for a 1.2mm thick PCB and a dangerously thin 0.6mm plate. Despite that tho, I managed to make it compatible with the original case. (It wouldn’t have been a great conversion kit if it wasn’t compatible with the original case, wouldn’t it?)

Buyers of the is0 liked it and we managed to give a unit to Simon too to convert his own is0. Follow the following link to see a small Twitch clip from the build stream showing off the tap dance feature implemented thanks to Vial: thocc

What’s ahead

During Q1 2023 I plan to close up the projects that I have in the works and keep expanding the catalog to cover the needs of even more users. This will be achieved in a multistep process:

  • wrapping up the projects that are currently in the works
  • expand the reference design EC PCB catalog with new layout options
  • move from a P2P order approach for the PCBs that I provide to users to a vendor based one
  • keep working on newer boards with designers I already collaborate with
  • further expand the collaboration with fellow designers, both in the PCB and case space

Participation in meetups is also very important in my opinion, not so much to see the keyboards, but rather to meet IRL those we chat with, talk to new people and make friends. The social component of the meetups is far more important, especially after the rough years that had because of COVID. As soon as I was able to attend one I jumped in right away and I don’t regret it at all, more followed and more will come.

That’s pretty much it from me. Hope y’all enjoyed the admittedly long read and will consider joining future rounds of PCBs or maybe start designing a case or board of your own. Feel free to contact me if you have anything you want to talk about or if you want to maybe collaborate on a project.

I wrote this article with my S60, powered by EC Pro 2 and BKE keycaps from a Sony MKS-8050 editing board. My endgame is making a full metal EC Hyper7 (which is in the works too hehehe)


Occupationfreelancer PCB designer and firmware developer
NicheEC PCB design
Fav. switchTopre and IBM ‘buckling sleeve’ (vint tactile)
Fav. profileMT3

GHOST - message from GEIST

Let's take a sneak peek into the keyboard journey and workflow of GEIST, this year's winner of the Seeed keyboard competition.


I guess you could call me a keyboard designer. The emphasis here should be on design, because when it comes to the technical side of things half the time I am not entirely sure what I'm doing. That’s why I'm very grateful to all the smart people who shared their designs online and answered my (somewhat stupid) questions, thus helping me to build my first keyboard.

Based in Germany, I earn my living as an animator (although my film/animation projects came a bit short lately due to the keyboards).

I feel very honored that Tamas asked me to submit an article here, among such famous people from the keyboard scene.



I was actually quite happy with my SplitKB Kyria, but since I use the encoder a lot and didn't want to wait any longer for the Elora [ed.: Kyria Plus with number row], I did some thinking about what my ideal keyboard would look like.


  • It could be stripped off of the additional row of thumb keys, as I rarely use them.
  • It should allow to access the encoder without moving the hand from the board.
  • It would ideally include an OLED cover in the case (I’m a sucker for hidden displays).
  • It would contain as much of the QMK hardware shenanigans as possible, as I love using them.


One evening I played around with some plasticine and some switches, with no real intention of designing my own keyboard.


I noticed how nice some splay feels and searched for a board which actually has some splay.

The Yacc46 by 1m38 already ticked a lot of boxes for me, but not all. So I somehow tried a combination of my plasticine prototype, the Yacc46, the Elephant42 by illness072 (such a beautiful board!) and of course the Kyria.

Even if you don't want to build your own keyboard and only want to try out different layouts, plasticine and some switches can be a great way to determine what works for you and what doesn't.


While still pretending I was just fiddling around a bit and not actually building a keyboard, I asked MangoIV how best to start learning KiCad. He mentioned the excellent tutorial from ai03. So I made this macropad PCB which probably half the keyboard designers have made at some point and started looking at open-source PCBs.

In the meantime I played with Ergogen to solidify the layout which I felt comfortable with and began experimenting with these components in Adobe Illustrator to develop the overall shape of the board ( – I always had a thing for blocky rectangular boards).


While you’re still playing around, it's probably always a good idea to use the software you feel most comfortable with, and then switch to the one that's best suited when it comes to finishing up.

My first version was a blatant copy of the Sofle schematics, with some additional features and a few dropped keys (and it kind of still is).

Unfortunately I only discovered the Design Rules Checker two days after already ordering the PCBs. So I ended up with a bunch of PCBs with an unconnected pad.

Always use the DRC right before you export the Gerbers.

So I fixed the errors, rerouted everything (it was a mess) and ordered the next revision.


I still used my Illustrator file as the base for creating things like the switchplate, the acrylic on top and the case. So it was a constant back and forth between KiCad and Illustrator (which doesn't necessarily make things easier).


I've ordered the switchplates in aluminium and spraypainted them black. The case was designed in Blender (‘cause I already knew Blender and didn't like the idea of learning a whole new software, something that can certainly be called a mistake).

Don't avoid learning a new software ‘cause you're too lazy. It will probably pay off in the long run.

I wasn't too lazy, but it takes some time to learn Fusion. And I have other stuff to do too!

While I was mostly pretty happy with the first (now fully working) revision, I wanted to go the full route and add per-key RGB.

And since some people also asked for bluetooth and "SplitKB puck" support, I've added those as well. Moreover I made one of the thumbs and the outer pinkie row removable. So I routed it again (actually two times).


By the way: the layouts are named after the fingers which get cut off.

  1. Polydactyly is an anomaly in humans and animals resulting in supernumerary fingers and/or toes.
  2. Konrad is the name of a little boy, in a gruesome German children's book called "Struwwelpeter"("shock-headed Peter"), who is warned by his mother not to suck his thumbs. However, when he ignores her words, a roving tailor appears and cuts off his thumbs with giant scissors. (My grandmother read this story to me many times, when I was a little child.)
  3. Yubitsume is a Japanese ritual to atone for offenses to another, a way to be punished or to show sincere apology and remorse to another, by means of amputating portions of one's own little finger. In modern times, it is primarily performed by the yakuza.
  4. Saegewerk means Sawmill. Referring to an old German joke according to which employees of a sawmill can only ever order three beers with a gesture because they only have so many fingers left.
  5. Pic:

    To support all different versions (with/without BLE/Puck and all four layouts) I needed to create 16 different case variations, both for the left and right sides, which adds up to 32 cases (not my smartest decision). Blender's geometry nodes where a huge help in accomplishing this.


    To make it even more complicated to change something, I've added a stacked acrylic case for all variants ‘cause I thought it would be cheaper to produce (it isn't).


    Supporting different configurations is a nice idea, but don't try to cover every possibility.


    The ZMK config and the AVR version of the QMK config were kind of straightforward (‘cause I was able to copy and modify most of it from other boards). The RP2040 config on the other hand was another beast, as RP2040 was not fully supported at that point, but at the same time it was necessary to enable all features of this board. Thankfully KarlK90 (who brought RP2040 support to QMK) is an incredibly patient guy, who helped me SO MUCH with getting everything running. If it wasn’t for his help, I really wouldn't have stood a chance to make everything work.



    I really didn't expect to get more than some upvotes on Reddit and a handful of people building it, but I soon saw pictures of my keyboard design, lying on a desk on the other side of the world. It's really kind of a strange feeling – but in a somewhat nice way. A few months later I saw so even more great keyboards taking my initial design as a base which was sooo nice to see.



    Fired up by the power of being able to make my own keyboards, I started designing a choc board even before having finished the KLOR. Add this adds to the list of my not-so-great ideas.

    Always finish one keyboard design completely before starting the next one, otherwise you’ll end up writing firmware next to a bunch of keyboard components and PCBs, which need a new revision to work.

    It should replace my Choc Sweep as a travel keyboard.



    The idea was to add some splay, an encoder and some status LEDs (for displaying battery status, layers etc.) to the Sweep.

    I kept the two thumb keys, mainly ‘cause it should still fit on the back of my Wacom Mobile Studio Pro, as a travel macropad, for using shortcuts, when animating.


    (some 3M dual lock velcro on both sides to attach it without any wiggle room).


    I really liked the look of David Philip Barr's (aka Broom) Cradio. But I thought maybe I can make it even blockier while still keeping it fairly small. The only way to do so seemed to be making some keys break out the rectangular shape of the board. With the outer contour I tried to emphasize this effect even more.

    The actual PCB was done pretty fast – after doing the KLOR. (Is it just me or is routing a keyboard PCB kind of calming?)

    By the way: KLOTZ is the German word for chunk and it refers to the rectangular shape and the beefy battery I put in there.


    Unfortunately, there are not many knobs for the EC12 encoder, so I tried to make my own in Blender. Some really nice people printed them for me, so I could iterate it further.


    A few iterations later I ended up with a knob I was pretty happy with. It took me a few weeks to notice its resemblance to the knob yfuku did for the claw44.


    You should always create your own designs instead of stealing from others. Especially if they're as popular as yfuku’s.

    Wait! I didn't steal his idea. At least not on a conscious level!

    Even the KLOR looks a lot like the claw44 if you ask me. And I heard somewhere that KLOR is the Swedish word for Claw?

    Sorry, the acoustics in here are really bad, I can't understand a single word you say.


    The firmware wasn't too complicated after doing the firmware for the KLOR. The only problem was that controlling single through-hole LEDs wasn't as easy as I expected it to be (still haven’t figured out how to do it).

    Always check firmware support before adding hardware features.

    I'm actually pretty happy how everything (except of the LEDs) turned out and use the KLOTZ quite often. And while splay feels already nice on MX keyboards, it feels amazing on choc spaced boards.




    I read about the Seeed Fusion DIY XIAO Mechanical Keyboard contest (what a name) and thought this could be a nice opportunity to try out some ideas I had floating in my head (such as a transparent case). And who would say no to free assembled PCBs?

    Someone who actually is supposed to finish his animation film?



    Since the XIAO doesn't have a lot of pins, I thought I should focus on a nice layout instead of jamming a lot of hardware features in it. The base was nearly identical to the KLOTZ, I just added a bigger thumb cluster to it.


    While fiddling around with it in Illustrator, I thought it looked kind of boring, and I remembered that I wanted to try the layout that the Balbuzard by Tom Brow and the Osprette/Clog by Sam Mohr use, where the top outer pinky keys are placed outside, making them easier to reach.


    The addition of the extra pinkies and the resulting change in shape also allowed me to place the XIAO better.

    Since at that time I had already decided to have a transparent case printed for this board, I thought I could try to make a diode cluster, ‘cause it would probably look nice.


    Again it was my usual back and forth between Illustrator and KiCad, till I had everything in place and routed.


    If you haven't already known or guessed: routing a diode cluster isn't that much fun.

    I tried to route the traces pretty close to the edge, to keep some copper free areas allowing me to add copper graphics. I chose the name cause the diode cluster kinda looks like a totem and cause I like the sound of the word. The logo should resemble a totem pole. I tried to put it together from the letters of the name and ended up with the most obvious choice: bird, human, Cthulhu. The three pillars of life.


    Unfortunately, the first set of PCBs had a major flaw: Since I tried to use the same groundplane for both halves, I ended up with some parts not connected to it. Also I chose the wrong footprint from Crides excellent kleeb collection (which is an absolutely necessary collection if you want to use the XIAOs in one of your boards).


    Always double check if you used the right footprints and whether everything is connected before sending out gerbers.

    Yea! I know that! But mistakes happen, especially if you're in a hurry to meet a contest deadline.

    A deadline should never stop you from doing good work.

    At this point I definitely think you should leave.

    Where was I? Yes, so I ordered a second set of PCBs. This time from AllPCB, cause I liked the idea of a matte black PCB with yellow silkscreen, which in the end came out even better than expected.



    Things I tried to consider for the case:

    • It shouldn't add additional switch height and minimal width to the board, allowing it to maintain the overall shape.
    • the height around the alpha keys should be pretty much flush with the case, to make it look like one unit.
    • the thumb keys should still be easy to reach (often a problem with high cases)
    • the edge between top and bottom should be hidden as much as possible, while still easy to handle (inserting the board, with its components)
    • it should work in transparent resin (something I wanted to try for a while).

    Since I'd never worked with any CAD application, I watched some tutorials and then started right away, by exporting a STEP file from the KiCad PCB and bringing this into Fusion360. Everything ended up kinda messy, but I still ordered the case, which fitted surprisingly well. At least on most sections of the board.

    The spacing on the reset switch was too tight to get the PCB with the components in there without a lot of wiggling around.

    Always make sure: function comes first and everything can be easily used before trying to make it look nice.

    Is this a fake mustache?

    A fake mustache? I guess you're confusing me with someone else, Sir. My name is Kirk Kleingeist, I'm an … ehm… jellyfish breeder from Norbeck, South Dakota. I was about to buy some groceries and heard you writing about misconceived ergo keyboard cases. So I thought maybe I could be of help.

    Oh, I'm really sorry, you reminded me of someone else.

    Since my Fusion file was already a real mess, I started all over. This time I assigned the 3D models to the PCB in KiCad and exported a proper STEP file, to use it in Fusion. I also watched a lot more tutorials on how to do this.


    The new prototypes I've ordered from JLC fitted better than expected so I ordered the clear resin version from PCBway.


    The clear resin from PCBway looked amazing and fitted pretty well.



    I took some pictures with random transparent stuff I found in my flat and edited the shit out of them (I'm just a mediocre photographer, but I have a lot of fun editing pictures, to make them look decent).



    In the end I actually won the contest, something which I honestly had not expected. Especially not after having seen the boards of all the other competitors. Some of them, like for example the GRIN Quern by policium or the beyblock20 made by Chris Lo are way above my skill level.

    So you only won cause your board looks kinda nice? And isn't this article getting a bit long?

    I should ignore you from now on.


    Maintaining and improving things along the way always takes a lot of time, but I have two projects in mind that I would like to realize soon:


    I noticed that a lot of people have built a stripped down version of the KLOR without a case and all the hardware features. So I want to facilitate this with a lite version that is optimized for this purpose.

    (high-pitched voice): You need to listen to Kirk, he holds me hostage and will surely do bad things to me otherwise. Also you should really consider wrapping it up here! HEEEEEELP! HEEEEEEELP!


    My next bigger project will be a unibody board, with onboard RP2040, if the really nice people of the Absolem Club and the German keyboard discord are still willing to help me find solutions for my stupid ideas.

    I wrote this article on a KLOR yubitsume, with black 55g Boba U4 switches, „3D“ keycaps from zk_phi on the alphas and resin printed Pseudoku DES on the thumbs. It uses a Yushakobo Pixart PAW3204 Trackball on the secondary side, which works fine, but still needs a better acceleration curve.


    GEIST (37)

    LocationOffenbach, Germany
    DescriptionDIY keyboard designer/paranormal phenomenon/friend
    Occupationanimator, illustrator
    Joined2016 (took a break between 2017 and late 2019)
    Nichecolumn staggered ergo keyboards
    Fav. switchKeebwerk Tacits (MX), Lowprokb Sunsets (Choc)
    Fav. profileDES, MT3, PBS (MX), LDSA, DCJS (Choc)
    Other hobbiesanimation

Ripping the wires out of relics

Krikun98 designs 44-key wireless splits with weird switches collectors would either tear him apart for or would be very intrigued by.

My name is Alexander, I am a software engineer and I like wireless splits. I used to live in Russia, and for the last two years, I did not have much of an income. On top of that, I like unusual switches.

You would not think it based on the state of my collection, but my first mechanical keyboard was a full size – a Ducky Shine 7. After using it for a while, I started thinking I might enjoy something more refined and joined my first group buy. In the meantime, I got a switch tester.

Pic: My first Jorne

My first Jorne

Initially, I never thought about using a split regularly – it was cheap and did not need a lot of switches. However, when the lockdowns hit, I did not have a chance to grab my new full size from the office, and I had a bachelor's thesis to write. By the end of it I sold the full size and was questioning the group buy.

Wires have always bugged me, though. Portability is key with a split, and dragging a bunch of cables around every time I moved was a major annoyance. So, as soon as nice!nanos were available, I jumped at the chance.

nice!nanos, however, are not cheap, especially if you factor in shipping to Russia. I wanted to try a lot of switches. Luckily, Joric – a member of my local community and a titan of the wireless split community – has developed an open source controller you could build yourself: the nrfmicro. I was afraid of destroying it, but I had to try – my wallet could not handle the amount of nice!nanos I knew I would need.

Soon after, I developed a few more annoyances with my wireless splits. The inability to turn them off made transportation or disassembly a pain. Reset buttons were annoying to reach for. LEDs were outright useless. All in all, I decided that while drop-in controller replacements are nice, a board tailor-made for wireless would significantly enhance the experience.


Early Corne power switch mods involved soldering a power switch to the TRRS jack contacts in a way that wasn't easy to do correctly (you can see an example in the next section). So, my first wireless-focused PCB was a version of the Jorne 3.0. I added dedicated power switches and battery contacts. The power switch placement was inspired by the Rollow, and it proved to be quite comfortable and compatible with nearly all existing Corne/Jorne cases (cough, Aurora Corne, cough).

A while later, a warehouse with 2,000 NMB keyboards with Hi-Tek 725 switches was found in Germany. Space Invaders were rare before this occasion, and although a few custom PCBs existed, there were no split designs – especially not wireless ones.

Pic: The layouts on these are nice, too. Everyone needs an Ö in their life.

The layouts on these are nice, too. Everyone needs an Ö in their life.

I do not want to specifically say how many of those keyboards I have procured, but let's just say I have built a round of Sporne prototypes and a bag of switches is still lying around. I picked red from SI designs that a few friends created, got my sister to draw up a logo and decided to go with 3D printed cases. I also designed custom controllers and patterns for the plates. I'd say the prototypes turned out quite fun, and I use mine often.

Although some enthusiasts say 4th generation Hi-Tek 725 switches are not as great as the one-eyed linears of old, I still love my board. While not as smooth as some modern MX-style switches, they've got… character. Also, the homing keys on NMB DEC boards are a unique style – instead of dots or bars they're just spherical caps on an otherwise cylindrical profile.

An interesting issue with ripping these rare boards apart for splits is keycap availability. While you could get enough switches for two splits from a single RT-101 keyboard, you've only got one set of alphas. That's why 3D printing keycaps is so awesome, and parametric profile generation (found in projects by Pseudoku, Shoggot, Riskable and matt3o) is even more promising.

If anyone's interested in creating a model of Space Invader sliders/keycaps to add to a generator – please drop me a line. I tried to make it happen last year, but other events kinda took over my life…

The near-final version of the Sporne can be found here. It supports MX/Alps/Hi-Tek 725 switches. Plates for Space Invaders can be found here for laser-cutting and here for PCB production.


You might be wondering what's up with the weird pinky "ear" by this point. Well, this was an idea started by the Jian – the 44 keys are supposed to fit a layout better suited to Cyrillic and have all the programming brackets accessible without layers. Although there are ways to fit the Jian's layout into a 42-key board, I've gotten used to it and tend to include it on all my boards. However, it can be broken off if you don't like it.

Pic: The Jian

The Jian

The Nijuni is a board that combines the Jian's stagger and pinky with the Corne's thumb cluster and controller placement. It's also wireless-focused from the get-go – power switches, no LEDs, hotswap/solder footprints and the like.

Pic: RT-22 - early version of the Nijuni

RT-22 - early version of the Nijuni

The currently published version 0.2 of the Nijuni is compatible with MX or Alps switches. However, I do have some plans to expand that list. I'm even working on a Hall Effect version for Zbrojovka 262.3 switches and sensors.

PCBs have a minimum order quantity of five, while some rare keyboards can only supply enough switches or caps for a single split. Furthermore, some PCB fabs take issue with the plates, demanding additional payment for "many rectangular holes". Therefore, I've taken to ordering a bunch of PCBs and sourcing plates locally. A common material available at nearly any laser cutting shop is engraving laminate – the material number tags are commonly made of. You can find it in 1.5 mm, the perfect thickness for MX plates. It's flexible, sturdy enough (although I'd avoid especially thin spots) and can be engraved.

Pic: Nijuni V0.2 in plastic

Nijuni V0.2 in plastic

However, the whole reason we're here is to get away from MX. Interesting switches tend to require 1.2 mm plates. That can be an issue: other than FR4, it's hard to find 1.2 sheet material locally. However, I've found that 1 mm PET (or PETG) can work well for Alps, various clones and Chocs, if the footprints are tight enough.

Pic: Alps in PET

Alps in PET

Space Invaders are a different story – as far as I'm aware, the original plates are 1.4 mm, so FR4 is pretty much the only option here. Although my Sporne is fine with a 1.2 mm plate, 1 mm plastic was too loose for comfort for switches with no positioning pins.

When working with a laser cutter, it's important to remember that every machine has its specific tolerances. Since plate footprints need to be as tight as possible, I would recommend cutting test plates with holes at 0.05 mm size increments in your preferred materials before committing to a larger order. Test plates for MX, Alps, Omron B3G-S and Hi-Tek 725 can be found here.


Custom PCBs for custom controllers are all well and good, but at some point you just see a Corne-ish Zen and think to yourself "if I'm making custom PCBs and controllers anyway, why not combine them?"

The Jian served as another inspiration – I don't really like screens, and while having the controller exposed can be an aesthetic all in itself, the empty space just oozes style. After seeing a friend of mine try a similar design with the Chocofi and shifting some parts around, I've discovered the Nijuni's thumb cluster can fit the same E73 module the nrfmmicro uses. Throw in some ESD protection, pepper it with some funky battery placement ideas and chuck it all in an auto-router and voila! This is how Skean's V0.1 was born.

The most important lesson this board taught me was not to verify PCB designs at four in the morning right before sending them to the fab.

I accidentally assigned a row and a column to the same pin.

And then got 17 PCBs made before noticing the error.

Pic: The transparent PET really displays the sleep-deprived engineering

The transparent PET really displays the sleep-deprived engineering

Nevertheless, some creative cutting and wirework allowed me to salvage the prototypes. They turned out to work fine and were quite comfortable. I can especially recommend the reset/power switch placement. While ZMK has been rock solid for a while, having an easily accessible reset is still nice, and these can be pressed with your thumbs without ever moving the board.

A small downside of the prototypes was their thickness. The Skean was originally meant to use 233350 batteries under the PCB. Typical MX switches have a protruding center post of about 3.3 mm at the bottom. Kailh BOX switches are a bit better at this with a post of 1.2 mm, but I like 0.8 mm PCBs, so they wouldn't work either.

Alps, however, have no posts. And Gateron's CAP switches only use the posts for positioning – they can be cut right off. The Skean's design was finalized right before Zeal came out with their new high-end CAP switches, and you wouldn't believe how happy I was.

So, you have your bag of Gateron CAP Yellows, you mangled the posts and you have 0.8 PCBs… Theoretically, 3.5 mm from the bottom of the plate to the top of the PCB plus 0.8 mm of the PCB plus 2.3 mm of the battery should fit within 7 mm standoffs. However, the batteries turned out to be closer to 3.5 mm, and some of the PCBs I had were 1.6 (AllPCB didn't allow 0.8 for their free PCB promos), so I had to build the protos with 8 or 9 mm standoffs. That's not too shabby – a typical Corne is about as thick, and the battery is three times the capacity, but I knew I could do better.

You see, a typical battery is 3.5 mm thick, and that just happens to be the same as the space between the PCB and the plate on an MX keyboard… That got me thinking. I discovered I could shove a typical 301230 in between the plate and the PCB, and one of the mounting holes could be used to feed the battery wires through. With a few more tweaks and fixes I published the Skean V0.2.

Pic: Thinner, more battery configurations and zero bodge wires.

Thinner, more battery configurations and zero bodge wires.

What I would like to highlight here is the importance of automation. The Skean is a board with quite a few configuration options – pinky or not, switches, plates for PCB production and laser-cutting and all that jazz. Re-generating all your PCB images, gerbers and other artifacts and keeping them up-to-date can be as time-consuming as the actual design work, and as a software engineer I just had to automate as much of it as I could. I was inspired by Soundmonster's Samoklava project, but I have learned not to trust auto-routers, so I focused my efforts on everything after the actual PCB design process.

My current system uses kikit and Docker to build PCB images, gerbers and laser-cutting files either in Github Actions or with a single script. The Github repository is also set up so that the readme automatically picks up the latest PCB images and production files – a casual user does not even have to touch the actions tab. This system is used (with minimal changes) across all three of my currently available project repositories – the Skean, the Nijuni and the Jorian840. I think it is a nice way to decrease busywork and maintain a nice repository layout.

There is, however, still plenty of work to do. Swapping footprints to automatically generate plate files for all supported switches is the easier part, but I am also working on a way to automatically generate 6-column (Corne) and 5-column (Minidox) versions of PCBs and other parts from one main source.

Once these ideas are implemented, the system will probably be released as a Github template. If you have any ideas or can give some pointers on generating 3D-printable cases – you're more than welcome to find me on the Absolem server.

The Skean can be found here, it supports MX or Alps switches. A hotswap version is currently in a beta branch, test units are in production. I've also got a few SKCC-shaped ideas for the next version and I'm always on the lookout for thinner batteries.


I've mentioned free PCB promotions a couple times here. They were a huge hit in the Russian split design community – an opportunity to test out a new design you have been sitting on without shelling out for the shipping. When NextPCB announced a promo for 10 free 10*10 PCBs, I was a bit sad – a conventional split PCB is about three to five centimeters wider. And then I remembered this:

Pic: I know. I was as terrified as you are.

I know. I was as terrified as you are.

The original Jorian is a semi-working version of the Mitosis that follows the Jian's layout. The PCB can be used as a plate if so desired, it supports multiple switch types and sports RGB out the wazoo. It also needs a dongle and you have to use an ST-Link to modify the firmware. It was a wireless split from an era before wireless splits.

The Skean, while nice, still included some baggage from its Nijuni origins. The E73 module does not have enough topside pins to support 22 keys, so it is still using a matrix. It also has an expensive ESD protection chip and some additional power filtering circuitry. What if we were to toss all of that? After that, why not include the Jorian's option to use non-rechargeable coin cells to toss the charging circuitry?

Well, we would get a wireless split that costs (as of January, 2022) $26 in materials for two fully built PCBs and case hardware, including shipping. If you can find some Alps clones (wax can do wonders to these), get a PET plate/case made (which is usually dirt cheap) and do some soldering, you can get a fully featured ZMK split for nearly the price of a single nice!nano.

Pic: Ain't she a beauty?

Ain't she a beauty?

Of course, you could solder that charger on, spring for some nice switches and 302025 rechargeable batteries (same idea as the Skean, they go between the plate and the PCB) and get a thin wireless Jian-like. The useless square above the module/battery could house an engraving.

The Jorian840 still supports 233350 batteries under the PCB. It can also be built in 42/40/36/34 key configurations or used as is in the original 10*10 shape. It can be found here. It supports MX, Alps or Omron B3G-S (or KPT) switches.

A hotswap version is currently in a beta branch. I'm also working on a Jiran BLE-inspired 18500 or 14500 version, but I need to figure out how to include overdischarge protection on the PCB.

I'm working on supporting more switches, although that is a bit more difficult on the integrated designs. Due to the USB port placement, some switches that cannot be rotated (Space Invaders) or have pins all over the place (Futaba MA) can be difficult to place or route, but I am working on a few solutions – the 14500 version would alleviate these concerns, for example.


As you have probably gathered from all the previous sections, I have a lot of plans. And they're not just plans – I have literal piles of vintage switches sitting in a box and an SLA printer on the way. I've also got a few more software-oriented projects in the works – I have to finish ZMK mouse emulation someday (I literally got my current job because of it) and I'd like to get capacitive, optical and Hall Effect switches working with ZMK. If any of the ideas I have mentioned sound interesting or you have some of your own – please reach out!

I would also like to shout out a few projects I helped out with – I already mentioned the Jiran BLE Lite, and the unibody TK44 has already been featured on, but you should also check out the Dao and the wEnki44 – awesome Choc boards for those of you who found my stuff a little tall for your liking.


If you have been following the links to my repositories, you may notice most of them have not really been touched after February of this year. I'm pretty sure you can guess the reason.

This hobby was a big component of getting me through it all. Desoldering NMB boards distracted me in the first few days, friends and meetups kept me sane, and selling prototypes helped ensure I had enough resources to leave my home country behind. However, I do not feel like it is my place to speak about the atrocity Russia is committing.

Ukraine has a vibrant mechanical keyboard scene, and before the war it was pretty intertwined with the Russian community. I got my first Blue Alps there, my first group buy was a trainwreck inexorably connected to a CNC shop in Ternopil, and I got my first set of Chicago Deep Dish keycaps made at an MJF shop in Lviv. I made a good number of friends through the hobby.

A few days in, some of them were talking about unexploded rockets stuck in the pavement outside their windows.

I hope they get through this.

I hope they win.

I hope those responsible face trial.

I typed this on my Sporne with 2-eye linear 4th gen Hi-Tek 725 Space Invaders and NMB DEC keycaps using DOOM Emacs.

Alexander Krikun (24)

LocationYerevan, Armenia
DescriptionThe guy who fills a whole table at a meetup with weird splits
OccupationSoftware Engineer
NicheWireless 44-key splits with unusual switches
Fav. switchAlps SKCM Orange, Zbrojovka 262.3 Hall Effects
Fav. profileDCJS, CDD, MT3
Other hobbiesclimbing, mountaineering, ukulele, knives


Velvet keyboard

The Velvet by atlantesque is a compact 38-key minimalist variation of Dactyl Manuform.

Ergohaven's Evgeny announced their split and scooped Velvet, this small Dactyl-variant with only 38 keys.

Introducing our long-awaited minimalist keyboard Velvet. Only 38 keys, very small and compact, but still curved enough for comfortable work wherever you are! – atlantesque.

  • It's intended to be used with RPi Pico, but other controllers should work too.
  • The case is made with screw holes to attach the single key PCB – a fork of the SU120 by e3w2q.



wEnki44 is a wireless version of the split Enki42, published by aroum.

Referenced by krikun98 in his wrap-up article, the wEnki44 by aroum is a wireless version of the Enki42: split, low-pro, and with brake-off outer pinky keys.


  • 44/42 keys
  • Kailh Choc V1 switches
  • Choc spacing
  • Direct pins
  • Wireless
  • Full body tenting case with magnets
  • Power switch and reset button
  • NFC tag

Check out Krikun98's typing test here:


ScyllaBallz Rev 2.5

ScyllaBallz Rev 2.5 by tenstaana – a Skylla on steroids.

If it weren't the name, it would be not so easy to tell at this point that the base for tenstaana's SkyllaBallz was Quentin's Skylla.

Now with the ST7789. Files are in my GitHub (modded flex pcbs, MCU plate, 3d and acrylic files). No build guide yet. Use at your own risk – tenstaana.

Just to make it clear, the trackball is not for the thumb:

Finger trackballing


Tips & Tricks

Low Power Improved Square Matrix

This post by wolfwood proposes a modification to the improved square keyboard matrix in order to support a low power wake-on-keypress mode, which has been a deficiency of this design until now.

Keyboard Matrix Background

Pic: An illustration of a keyboard matrix, borrowed from dovenyi's duplex matrix explainer

An illustration of a keyboard matrix, borrowed from dovenyi's duplex matrix explainer

A keyboard matrix is a way of detecting key presses without wiring each switch to its own GPIO pin on the micrcocontroller. This is important because pins are a somewhat scarce resource, and when higher pin count versions of a given chip are available they are more expensive. The basic approach is to arrange switches in a grid with one side connected to a row wire and one to a column wire. One pin is assigned to each row and column wire. Either rows or columns are chosen as inputs and the other as outputs. One output pin is set high at a time and then the inputs are read to detect closed switches (keypresses). This is known as scanning the matrix. To properly detect multiple simultaneous keypresses, each switch must be wired in series with a diode so that current can't flow "backward" through switches assigned to different output pins than the currently active one, which could otherwise create ghost keypresses.

The Matrix, Evolved

The improved square (or round-robin) matrix is a method of sensing switch activations using the fewest number of GPIO pins possible (as far as we know). The key insight is that rather than statically assigning pins as inputs or outputs (and rows and columns), we can dynamically reconfigure them to serve both roles, with the caveat that a switch cannot have the same pin as both input and output.

Pic: An improved square matrix, from

An improved square matrix, from

The extra connectedness of the square matrix, compared to a traditional matrix, also means more opportunities for ghosting (see the precursor write up on the round robin matrix for details). This can be addressed with larger voltage drops either by using diodes with higher values, or by doubling up on the 1N4148 diodes traditionally used. The improved version observes that rather than using 2 diodes per switch, we can 'factor out' one diode and instead use one diode per GPIO pin, between input (or column, in these diagrams) segment and the output (or row) segment.

Low Power Mode

Pete Johanson raised the difficulty in supporting a low power keyboard mode at the time of the original post about the round robin matrix. He has since expanded on it as part of his excellent piece on designing keyboards for wireless connectivity and low power use.

Power use is a significant concern for battery-powered wireless keyboards, which aim to extend their battery life as long as possible. Keyboards spend a significant amount of time idle and therefore significant power can be saved by putting the CPU to sleep. However, there must be a way to detect when a key is pressed and wake the sleeping keyboard controller back up.

The approach used on a traditional matrix, which is illustrated in detail in Pete's post, is to enable interrupts on the input pins and to set _all_ output pins to high at once. This ensures that if any key is pressed, the CPU will be awoken. Note that because all the output pins are high, the interrupt will not be informative as to which key was pressed, so the keyboard must resume scanning the matrix as usual. Interrupts are not a substitute for scanning a matrix, just a means to resume it.

Low Power Mode for the Improved Square Matrix

With the improved square matrix, it's easy to see how to listen for keypresses: we must treat all pins as inputs, pulling them low and enabling interrupts. However, this leaves us unsure about the other part: how do we connect the other side of the switches to a detectable voltage?

The improved matrix makes this possible, both to visualize and to implement, by separating the output segments (rows, in this illustration) from the input segments (columns) by a diode, with the GPIO pins on the input side. We can add a single additional pin to supply a voltage to all the output segments, using diodes to prevent them from becoming connected during normal matrix scanning.

Pic: Additional wire and diodes on the left side

Additional wire and diodes on the left side

With the additional pin pulled low, scanning can be done as normal. When it is time for the CPU to sleep, we pull the new pin high and configure the other pins as low inputs with interrupts enabled. Any keypress will wake the CPU, as with the traditional matrix low power mode.

We don't need to worry that the new diodes will drop the voltage below the voltage threshold, as they substitute for the diodes the improved matrix introduced to combat ghosting. If the matrix registers keypresses correctly, then the low power mode will as well.

This technique does require an additional GPIO pin, but given the large number of pins saved compared to a traditional matrix it seems a small price to pay.

A Reciprocal Matrix

Pic: Another low power proposal – by HookyQR.

Another low power proposal – by HookyQR.

After publishing this post, Pete pointed me at a ZMK pull request that also tackled the issue of low power mode for an improved square matrix. This proposal starts with a different orientation of the square matrix. Pins are connected to the output segments of wires, and then connected to the input segment by a diode (facing toward the pin instead of away from the pin). This sets us up to enter low power mode with all pins set as high outputs. We then need a way to detect a keypress. We can connect all the input segments to a single pin, using diodes to prevent inputs from being directly connected to each other. This pin can be configured as an interrupt when in low power mode and disregarded at other times.

This design and the one above are the perfect duals of each other. They both accomplish the same task, as mirror opposites. If not all GPIOs are interrupt capable then this design might be preferable, otherwise there is little practical difference to distinguish them.


I've written this post to get feedback on any potential deficiencies with the low power mode proposal, and to share this idea to help us save both pins and power. I hope we will all treat power-savings as a goal in the future, even on wired keyboards.

Coda: A Personal Plea for More Pins

I fear that microcontroller board designers will use the efficiencies granted by the improved square matrix as justification to produce boards with even fewer pins broken out. For me, being able to direct wire switches for handwired split keyboards has made experimentation significantly easier. However, people keep sticking new MCUs into tiny footprints. I understand the desire to retain compatibility, but I hope designers take inspiration from the Proton-C and break out addition GPIOs on a snap-off extension (sadly, the Proton-C still only exposes 23 of 37 GPIOs). Matrix tricks are cool, but not as cool as never needing to use one :)


Yucu 2000

The Yucu 2000 by Cu3b is a 38-40 key 'super staggered' split keyboard with single-key PCBs.

Cu3b's Yucu 2000 is the second keyboard this week built with single-key PCBs – this time the original SU120s.

No files, some photos in the reddit post.

3D printed case with acrylic bottom plates. Features hot swap sockets, two OLEDs and encoder(s).

The offset of the columns is modeled according to the owner's hands, but the goal is make it parametric:

Ring finger column is higher than the index finger column, because the ring finger is often longer than the index finger on male hands. However, the idea is to get the model working parametrically so one can set one's own measurements – Cu3b.

ffkb with led ring

Sadek Baroudi is having fun with led rings, this time on his ffkb.

Sadek Baroudi designed a case for his v2 ffkb ks-27 edition to host a LED ring:

I bought some led rings a few months ago and never made any use of them. So I designed the case to house it. The recessed edges near the thumbs was inspired by the TOTEM by GEIST – sadekbaroudi.

More photos and video of it in action here.

Case is available here.


AsherKeats' 42Azalia is a monoblock angled ortho created by a PCB generator.

The 42Azalia by AsherKeats is a gasket mounted 42-key unibody angled ortholinear keyboard driven by an RP2040. The case is tilted at 6 degrees.

42Azalia is my pet project and a test bed for automated PCB generator that I’ve been working on – AsherKeats.

The other interesting point is that this is split ready: the halves are driven by separate I2C IO expanders, and the controller board is actually in the brass weight.

More photos:

The Two Thirds Keyboard

Inspired by old letterpress type cases, Attoparsec designed a keyboard based on the California Two Thirds layout.

Matthew Dockrey aka Attoparsec, who usually rocks a 1990 IBM Model M, designed and built the Two Third Keyboard – a meme board based on the arrangement of old letterpress typecases:

I was inspired to create a keyboard based on an old letterpress type case. This may or may not have been a good idea – Attoparsec.

As Matthew explains it in his video, typesetting even just a page of text needs a whole bunch of type, and type cases with a grid of shallow compartments were the containers holding all the characters needed by typesetters.

Over time these type cases became standardized, and one particularly popular option was the California case and the slightly smaller version "Two-thirds California case".

This is what Attoparsec turned into a working keyboard. Check out his video here:

Also nice silkscreen art with warning:

  • Impractical
  • Shockingly expensive
  • This is a mistake you can avoid

After a week using only this letterpress-type-case-inspired keyboard, I doubled my WPM from 10 to 20! – Attoparsec.


A 10-key ergo keyboard or an adjustable controller for gamers? The MoveMaster is an input device with a distinctive appearance.

Designed by a small team consisting of inventor Tom Bredinin and engineer Johann A. Meindorfer, the flagship MoveMaster model of the German company was developed with gaming in mind, and to replace the classic keyboard:

For a long time I've been pursuing the idea of how to replace the keyboard, which is still a writing instrument, in games or applications with a better, more user-friendly and more effective input device. We have now succeeded in doing this with the revolutionary MoveMaster – Tom.

Readers of the Advent Calendar may spot the resemblance between the MoveMaster and the Squeezebox by Pete Lyons, at least on the level of the home corner concept, but also the adjustability via screws.

Pic: MoveMaster base unit

MoveMaster base unit

While the MoveMaster base unit has only 10 keys, the "palm rest" part acts as a joystick. Other than that, it can be extended with another module to feature more (18) keys.

Pic: MoveMaster with the extension module

MoveMaster with the extension module

Product page:

A review by NicGaming aka I_am_Nic whose reddit post brought this device to my attention – the video is in German:

[…] it is a "hybrid-joystick" according to the inventor. You control movement via the grip and then have the fingers free for other button presses, where on a keyboard you have always two or three fingers engaged for movement, leaving only two or three for secondary action. Also you can hit two buttons per finger easily without mis-pressing (as opposed to a keyboard) – which for me at least (owning one since a few years) gives a tactical advantage in most games – Nic.

That was Issue #107. Thanks for stopping by.

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

Your support is crucial to help this project to survive.

Discussion over at r/mk!