How to Build a Split Mechanical Keyboard


I built a handwired QMK split keyboard powered by generic RP2040 clone (called RP2040Zero and less then $2 a pop), 3d printing the case and bying the keyswiches and keycaps

Things to avoid:

  • youtube videos 1
  • asking LLMs to generate the LAYOUT macro for keymap.c
  • wiring the halves mirrored (the halves as QMK treats them are NOT mirrored)
  • instead of reading the docs browsing through search engine results and being confused by that.

illegal pro-tips2/brief step by step

  1. see how the keyboard can be wired up. i recommend watching Joe Scotto’s video1 and ryanis.cool how-to
  2. after wiring up the halves you have to connect them. using a 2.5mm jack for 3 pin connection is okay.
  3. set QMK_HOME to some subdirectory or else QMK will use ~ and you’ll have ugly home directory
  4. you have to set up QMK before anything (the setup takes a long time and someone decided to not show the git clone progress unfortunately)
  5. when stuff set up do qmk new-keyboard read through what it says and set it up. (the RP2040Zero is identical to the normal RP2040, you can just select that if that’s your microconroller)
  6. read the qmk documentation; especially split keyboard, info.json reference and the serial driver page.
  7. also make sure you understand how split keyboard halves communicate
  • see the project files of another keyboard that uses the same microcontroller

now that i successfully got through the labor pains of creating my first keyboard i am confident i can make a custom split or non-split keyboard relatively hassle free. the only other things i can advise is perserverance and positive mindset. it really isn’t as difficult as it might seem on first glance.


  1. the only video i have found useful would be How to Build a Handwired Keyboard which explains how the columns and rows should be wired up. ↩︎ ↩︎

  2. i figured out how to use footnotes and it’s a joy to use them; the tips are not illegal ↩︎