Common Keyboard Controllers and MCUs

While there are many microcontrollers on the market, the custom keyboard community has largely standardized around a few key models. These chips offer a good balance of processing power, memory, number of I/O pins, and, crucially, strong community support and compatibility with popular firmware.

When you buy a PCB, it will almost certainly feature one of the following controllers. Understanding the differences will help you make informed decisions about compatibility and features.

The Classic: ATmega32U4

The ATmega32U4 is the undisputed classic of the keyboard world. It's an 8-bit AVR microcontroller from Microchip (formerly Atmel) and it's the heart of the ubiquitous Pro Micro development board, which is a staple of handwired and split keyboard builds.

The Modern Standard: ARM Cortex-M Processors

As keyboards became more complex, the community needed more power. The answer was found in ARM Cortex-M processors. These are 32-bit MCUs that are significantly more powerful and have much more memory than the old 8-bit AVRs.

The most common family of ARM chips found in keyboards is the STM32 series from STMicroelectronics (e.g., STM32F103, STM32F303, STM32F401).

The Newcomer: Raspberry Pi RP2040

The newest major player on the scene is the RP2040, the first microcontroller designed by the Raspberry Pi Foundation. It's a powerful, low-cost, dual-core ARM Cortex-M0+ processor.

Wireless Options: nRF52 and Friends

If you’re building a wireless split or low-power travel board, Nordic nRF52 series controllers paired with ZMK firmware are common.

Choosing the Right Controller

Ask yourself:

Flashing and Development Experience

The choice of controller determines the ultimate capabilities of your keyboard. While an ATmega32U4 is fine for a simple, non-backlit build, a modern ARM chip like an STM32 or RP2040 is essential for a feature-rich experience.

Next, we'll discuss how to get your keymap onto these chips in Firmware and Flashing.

External Resources