GOLEM keyboard project

Skip to main content

Learning plan for wannabe keyboard builders

In this article I try to give you some tips on how to get started with keyboard building. I present the resources in logical order starting with basic terminology and gradually leading you to more advanced stuff.

If you are just trying to get into this hobby, this page is for you.


To quickly absorb the most important things study basic terminology, switch types, keycap profiles and form factors first. While planning your first project, you may be interested in skills and tools needed, budget building options and easy beginner projects. Learning about keyboard ergonomy and alternative layouts (logical layout design) is also important to broaden your perspective.

General tips

Lurking, observing yourself, ignoring hypes.

  • Best way to get into the hobby is probably lurking on r/mk, r/emkb, geekhack, deskthority etc. for some time. You have to get familiar with your options, but don't spend too much time with these.

  • As you browse other people's keyboards, try to consciously assess your typing habits and working environment. Which design and layout would work for you? Why?

  • For now, try to ignore overhyped stuff (most group buys, raffles, colorful cables etc.). Focus on what really matters (basic switch types, keycap profiles, form factors, physical layouts, logical layout optimization).

  • Search for build logs, they helped me a lot and I have some half-baked ones on this site too.

First steps before the first steps

Actually, you don't even need a mechanical or programmable keyboard to start tinkering. There are many ways to optimize QWERTY and try layers on a humble rubberdome.

  • layers & SpaceFN concept (AHK, PKL, TouchCursor)
  • basics of logical layout design

First steps in the world of mechanical keyboards

As a quick introduction you might be interested in a list of basic keyboard terminology or my adventures in keyboard building.

Not sure if you want to build a truly custom board? Check all the sub-fields of this broad topic you can try your hands on.

If you are determined to build a custom design the keyboard ergonomy part is where you should continue.

Sub-fields of keyboard customization

Keyboard building is a very broad topic. Some people change keycaps and call it a custom keyboard. Assembling one from a case, PCB, putting in switches and caps is also often called building. IMO a real custom keyboard is tailored to your fingers. You do the research, design one for yourself and manufacture it.

  • 10 ways of keyboard building
  • 50 aspects of keyboard customization

Keyboard ergonomy

The classic keyboard design is an ergonomy disaster. A really ergonomic keyboard design requires changes in both the physical and logical layout.

Physical layout

The physical layout is the arrangement of physical keys. There are hundreds of existing approaches to this. Some will fit your hands and fingers better than others, but you are unique and your ultimate layout is unique too.

  • physical layouts and form factors
  • drawing up a custom physical layout

The theory behid physical layout design

Before lasercutting or soldering anything you want to design your dream layout. To get to this phase we have to understand why the classic layout is obsolate and what are the possible points of imporovement.

  • criteria of the ultimate physical layout
  • split keyboard database (for reference)
  • electronics basics
  • keyboard matrix
    • basics
    • problems with keyboard matrices
    • advanced keyboard matrices

Physical layout design in practice

You need to progress gradually. Start with something simple like a custom cable or a cheap macropad. Only then start building your first keyboard.

Logical layout

  • history of QWERTY
  • problems with QWERTY
  • alternative layouts
  • basics of logical layout design
  • language statistics, corpora
  • key frequency heatmaps
  • intuitive optimization
  • genetic programming theory
  • golem - genetic programming in action

Keyboard programming

  • Common microcontrollers in keyboards
  • QMK
  • Flashing
  • Firmware update

Custom PCB

  • price considerations
  • PCB design
  • PCB manufacturing


  • Rotary encoders in keyboards
  • Wiring of rotary encoders in keyboard
  • Of socketing controllers