IBM Model M USB interface

The IBM Model M keyboard is a beast: weighing roughly 2kg, the buckling spring mechanism provides a unique feel (and a loud clicking sound that will drive your co-workers nuts). I learned to love these keyboards quite some time ago, when people started throwing them out to get new, “modern” keyboards. Unlike these, a Model M is nearly indestructible – the one I am typing this text on has “copyright 1985” printed on the bottom label, and the IC datecodes are from 1989.

While my current PC setup with the accompanying KVM switch still has PS/2 connectors, USB-only machines are coming up.

PS/2-to-USB converters exist, but they are like a box of chocolates – you never know what you’re gonna get. Some don’t work at all with a Model M, some work fine most of the time but get flaky occasionally.

This is a replacement PCB for IBM Model M keyboards. Instead of using an external converter, we replace the complete electronics of the keyboard with a new one with a USB socket:

This gets us reliable operation, plus some extras: changeable and extensible keyboard layouts, a macro recording function, all those extra keys that a modern multimedia keyboard has plus all the other features that the Quantum Mechanical Keyboard Firmware has to offer.

There are multiple versions of the original PCB, this replacement should fit most keyboards that have a detachable cable. Keyboards with a fixed cable probably have a PCB where the keyboard matrix is heat-bonded directly to the PCB without a connector, making a replacement difficult.

Design goals

I wanted to achieve the following goals:

I think the overall design achives these goals well.

Complete design documentation and build instructions are available on

2020-07-27 by rincewind