Skip to content

Compatible Microcontrollers

QMK runs on any USB-capable AVR or ARM microcontroller with enough flash space - generally 32kB+ for AVR, and 64kB+ for ARM. With significant disabling of features, QMK may just squeeze into 16kB AVR MCUs.

Features within QMK may or may not be compatible with every microcontroller.

Atmel AVR

The following use LUFA as the USB stack:

Certain MCUs which do not have native USB will use V-USB instead:


You can also use any ARM chip with USB that ChibiOS supports. Most have plenty of flash. Known to work are:

STMicroelectronics (STM32)

WestBerryTech (WB32)

NXP (Kinetis)

Raspberry Pi

For a detailed overview about the RP2040 support by QMK see the dedicated RP2040 page.


There is limited support for one of Atmel's ATSAM microcontrollers, that being the ATSAMD51J18A used by the Massdrop keyboards. However, it is not recommended to design a board with this microcontroller as the support is quite specialized to Massdrop hardware.



ChibiOS-Contrib has support for the GigaDevice GD32VF103 series microcontrollers and provides configurations for the SiPeed Longan Nano development board that uses this microcontroller. It is largely pin and feature compatible with STM32F103 and STM32F303 microcontrollers.