November 8th & 9th, 2024
Love SeaGL and want to help out? Get Involved
This video recording is archived by the Internet Archive. If you value their service, please consider thanking them with a small donation.

Building Your Own Keyboard with Free Software

SeaGL 2019

Mechanical keyboards are soaring in popularity recently. This talk explains why you might be interested in them as well.

The following topics will be covered:

  • Case/plate/PCB
  • Switches
  • Caps
  • Freedom of hardware
  • A brief note on soldering
  • Freedom of software
  • GPL firmware: QMK
  • Questions


Full size, tenkeyless, 75%, 65%, 60%, 40%, split, ortholinear, this talk covers all the different sizes in a hope to show you how your imagination is the limit when it comes to keyboards. I will go into detail about each size and why you might be interested in that size.


Tactile, linear, clicky. Cherry, Kailh, Gateron. I will cover all the major switch types, and what their pros and cons are.


Then I will discuss the various keycap profiles in detail with pictures.

Freedom of hardware

This immense freedom of hardware choice lends itself well to folks that are concerned with controlling their tools, as keyboards are one of the primary tools for people who do computer stuff.

A brief note on soldering

I want to dispel myths about soldering and reassure people that even those with zero prior hardware experience (like me!) can successfully build their own keyboard

Freedom of software

Software freedom! Perhaps the most relevant part, I will discuss the high level view of the QMK firmware that powers most custom keyboards. It is a GPL licensed C program that generates incredibly powerful customized firmware.

GPL firmware: QMK

I will go over how to build it yourself both online or on your local machine, and describe some of QMK’s more advanced features that set it apart from proprietary keyboard firmwares.


I expect that with so much to cover and this being such a hot but mysterious topic, there will be lots of questions, so I want to make sure to leave lots of time for those.


Brian Mock

Brian Mock