How to make a keyboard

"How to make a keyboard" is a mechanical keyboard building course from the ground up. Only basic EE skills required.

I decided to write this tutorial in 2013 when I saw a growing demand for "homebrew" mechanical keyboard, especially on geekhack.org. I decided to create something useful to explain small bits of digital circuits theory needed to build a mechanical keyboard on one's own. The result was the first part of this tutorial which explains how a keyboard matrix is scanned. The second part on building the controller is under construction.

Parts available: 1 matrix | 2 controller (coming soon).

8 thoughts on “How to make a keyboard”

  1. I know it's a long shot, but is there any possibility to include in the future controller article how to handle with IO port expanders, like the MCP23008/23017/23018?

      1. I've been researching, it's possible that IO port expanders could be slow for keyboards. In other hand, shift registers are very fast. So I believe that it would be more useful using shift registers on keyboards than IO port expanders.

        I'm designing a keyboard by myself and thinking about the possibilities. A matrix is the most used design, but I was thinking if it wasn't worth a shot to address each switch individually using an IO port expander/shift register. Still researching, including the $ cost/benefit of this design.

        But, whatever the solution I use, I'm struggling with firmware. So I'll wait patiently for your post. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

a blog about electronics and programming