Skip to the content
PCBKitNew board
2 layers147.2 × 118.7 mmRight finished, the printed circuit board in 3D

Right finished

machinoro/corny1

My first custom split keyboard that takes inspiration from the Corne keyboard.

Size
147.2 × 118.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
69
Nets
53
Pads
433
Tracks, vias
423, 3
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
5 Jun 2025
Updated
11 Jun 2025

Overview

Right finished is an open-source printed circuit board by machinoro, from the machinoro/corny repository on GitHub. It is a 2-layer board of 147.2 × 118.7 mm with 69 parts on 53 nets, routed with 423 tracks and 3 vias.

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

README

README.md

Corny Split Keyboard

My first custom split keyboard that takes inspiration from the Corne keyboard.


Motivation

I’m pretty much a geek who always finds ways to create things tailored specifically for myself. I've been using Arch Linux (BTW), Hyprland (BTW), and Neovim (BTW) for over a year now, and most of my workflow depends heavily on the keyboard.

Over time, I’ve tried 60%, 75%, and 100% mechanical keyboards. They’re all nice, but I struggled to find space on my desk for schoolwork, and placing the keyboard on my laptop caused the battery to heat up. Then one day, I stumbled upon this video, which sparked the idea—and here it is: my first-ever custom-built split keyboard. All the design work was done in less than 5 days.


Build

This keyboard was created using Ergogen, with extra helpful guidance from the Flatfootfox tutorial and HunterCook—a genius and my friend on Discord.

The design is entirely customized for my hand movements and habits. It may not suit your typing style (or even mine, as this is my first attempt). All routing was done manually and can be found in the ergogen/results/pcbs/ directory, not in ergogen/output/pcbs, which contains files auto-generated by Ergogen.


1. Layout

The layout was fully created inside Ergogen.

Here’s my initial design of Corny, drawn in Excalidraw: Excalidraw

It was draw in the first day with some adjustments. However, while working on the board I realized that I forgot the {} and the FN key so I have to make some changes

  1. Adding one more thumb key to each side (It was 2 but I have enough place for all the key I need now)
  2. Changing the CAPSLOCK to FN cuz who even use it now?

2. Components

For switches, I decided to use MX switches instead of Choc switches like most others, because MX switches are much easier to find in Vietnam. In fact, I couldn’t find any retailers selling Choc switches on the major e-commerce platforms here. My switch of choice is the Akko Rosewood.

Choc switch (low profile): 17×18mm

MX switch (The type of switch on normal mechanical keyboard): 19×19mm

For the MCU, I used the nice!nano v2 for wireless functionality despite of the fact that you can see, yep obviously the MCU in the PCBS are nice!nano_v1 but I could only find the version 2. However, you can use almost any available MCU, such as the Pro Micro or even a Raspberry Pi Zero.


3. PCBs

The PCBs were auto-generated by Ergogen in .kicad_pcb format, which you can open in KiCad. Be sure to connect all routes manually, and aim for an unrouted count of zero—otherwise, you'll have unconnected components (oops!).

I had a hard time with the PCBs when I was connecting everything and remembered that damn this should not be here so make sure connecting all the important components first (hardest part) before working with the keys

The finished PCBs are located in ./PCBs/ not in ./ergogen/output/pcbs/, they are auto generated by ergogen

Here are the final PCB designs:

Left PlateRight Plate
let_plate

4. Cases

Version 1:

Design the case inside ergogen is possible. However, it was a pain in the ass so I made a dirty (or genius?) move by making half of the case in ergogen, the eport it in jscad convert to stl using the @jscad/cli@1 package and then put it inside OnShape then delete the wrong part

Here is the image of the final stl file

Left caseRight case

P/s: Im praying that the mounting hole will fit

Version 2:

The case was denied because it was just a basic outline which you can literally create anywhere using a case genereator. So I decided to sit back and start working with OnShaped to design a new case.

First, I imported the .dxf files from the ./ergogen/output/outline and lay it on to the sketch so that I can have a brief view of what the outlines are. (Disclaimer: the outline is 10 times the actual size so after all you have to scale it down) Then I extrude the parts I need to create a simple case as the version_1.

Then I have to create the nut for M2 screws but I had had a bad time with creating custom nut and screw so I decided to use the public version of a M2 nut and extrude it so that it has a little margin I need to stand the PCBs.

Next step is the worst step you can imagine, making the top plate!!! I had to redo the first step of making the case (creating a plate without the walls) the align it so that the keys hole and the plate aligned perfectly. Then I had to extrude each key individually!!!!! That is over 30 keys and yes it took a whooping amount of timeto do it. Also remember to cut the hole for the MCU to (you don't want to cut it manually when you got the 3D printed case tho)

Penultimate is the piercing hole for the velcro strap. This create 2 holes so that you can use the velcro strap to strap the keyboard around your leg when you are on a plane/train or just simply don't have the space for you keyboard.

Final parts are the detachable wrist rest using magnet. I use two 6mmx1.5mm magnet mounted to the case so that you can attach and remove the wrist rest with ease.


5. The software

I haven't had fund to get the parts yet but there is a tool called zmk - I will keep the repo private for now since I am just doing it blindly without the physical parts


6. BOM

AYou can check the BOM in here. As you can see, the prices look a bit messy—that's the best I could do when converting between VND and USD (inflation is killing me). Only Shopee Vietnam, a Vietnamese e-commerce platform, lists exact prices in VND, which I then converted to USD. All the other retailers charge in USD. Even more frustrating, Typeractive actually charges more in VND than in USD!

Electronics
No.PartsUnit cost (USD)Unit cost (VND)QuantityRetailerShipping + Tax (USD)Shipping + Tax (VND)Total cost (USD)Total cost (VND)SourceNote
1Nice!nano MCU25.41662,0002TyperactiveFreeFree50.821324000https://typeractive.xyz/products/nice-nano?variant=42225114546407
2Power Switch1.5440,0001TyperactiveFreeFree1.5440000https://typeractive.xyz/products/power-switch?variant=45597854171367
3Diodes0.7720,0006TyperactiveFreeFree5.62120000https://typeractive.xyz/products/smd-diodes?variant=45597514858727
4Reset button1.5440,0001TyperactiveFreeFree1.5440000https://typeractive.xyz/products/reset-button?variant=45597784932583
5Battery jack1.0427,0001TyperactiveFreeFree1.0427000https://typeractive.xyz/products/battery-jack?_pos=2&_psq=bat&_ss=e&_v=1.0
6Machine Sockets and Pins6.61172,0002TyperactiveFreeFree13.22344000https://typeractive.xyz/products/machine-sockets-and-pins?variant=45741664469223
7Kailh Hotswap Sockets1.5440,0006TyperactiveFreeFree9.24240000https://typeractive.xyz/products/hotswap-sockets?_pos=1&_psq=hot&_ss=e&_v=1.0
8PCBs10.7278,9602JLCPCB12.47324,47033.87882390https://jlcpcb.com
9Battery1.5339,8202Shopee VN0.3910,0003.4589640https://shopee.vn/Ehbqna-103450-Pin-s%E1%BA%A1c-lithium-polymer-lipo-3.7V-2000MAH-m%E1%BB%9Bi-i.240549284.26978776277?sp_atk=05b7ba61-e00c-4b50-957d-6faa2f0e17b5&xptdk=05b7ba61-e00c-4b50-957d-6faa2f0e17b5

Electronics Total: 119.34 USD / 3,107,030 VND

Hardware

Hardware Total: 62.6 USD / 1,641,596 VND


💰 TOTAL COST

  • Electronics: 3,107,030 VND / 119.34 USD
  • Hardware: 1,641,596 VND / 62.6 USD
  • Grand Total: 4,748,626 VND / 181.94 USD

Disclaimer: When you try to converting VND to USD you can see that they are about ~1 dollar away from each other. It is because you can not accurately convert the price down to every cent.

Parts

69
QtyValueFootprintReferences
30ComboDiodeD1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +14
30PG1350S1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +14
4ceoloide:mounting_hole_platedH1, H2, H3, H4
1ceoloide:reset_switch_smd_sideRST1
1ceoloide:power_switch_smd_sidePWR1
1ceoloide:battery_connector_jst_ph_2JST1
1ceoloide:mcu_nice_nanoMCU1
1LOGOPCBs:flagG***

Questions

How big is the Right finished PCB?

It measures 147.2 × 118.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Right finished use?

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

Where can I download the Right finished KiCad files?

From the machinoro/corny repository on GitHub, at the commit this page was made from: the board is PCBs/right_finished.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Right finished design in my own project?

Its repository states no licence, so its author keeps all rights: ask machinoro before reusing the design.

Similar boards

  • 2 layers117.3 × 54.5 mmMegapad, the printed circuit board in 3D

    Megapad

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    69 parts915
  • 2 layers100 × 96 mmBacklight, the printed circuit board in 3D

    Backlight

    jackw01/scanlight

    A better light source for scanning color negative film

    69 parts397CERN-OHL-W-2.0
  • 2 layers135.9 × 102.2 mmErgo42, the printed circuit board in 3D

    Ergo42

    Biacco42/Ergo42

    7x4 ortho linear split keyboard - The Answer to the Ultimate Question of Life, the Universe, and at least Keyboards

    69 parts218
  • 2 layers104.1 × 71.1 mmMinifp, the printed circuit board in 3D

    Minifp

    eigenco/frankenpi

    This is an experimental project to connect Raspberry Pi with the help of cheap Cyclone IV FPGA board to 8-bit ISA bus to act as multiple different devices.

    69 parts139
  • 2 layers90 × 140 mmDrumkid, the printed circuit board in 3D

    Drumkid

    mattybrad/drumkid

    Version 4 was the first successful working design, with full code, schematics, Gerbers, etc available on GitHub.

    69 parts137
  • 2 layers120 × 60 mmOverglade Badges, the printed circuit board in 3D

    Overglade Badges

    KaiPereira/Overglade-Badges

    NFC hackathon badges for the Overglade game jam in Singapore!

    69 parts126
  • 2 layers142 × 20 mmDeskController, the printed circuit board in 3D

    DeskController

    BerkeleyHCI/PolymorphicBlocks

    A Python-based hardware description language for PCBs for higher-level (block-diagram / system-architecture level) PCB design through libraries of directly reusable subcircuit generators.

    69 parts94BSD-3-Clause
  • 2 layers163.1 × 111.9 mmSpleeb, the printed circuit board in 3D

    Spleeb

    chrishoage/spleeb

    A split keyboard... or spleeb

    69 parts87MIT