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.
The following use LUFA as the USB stack:
- ATmega16U2 / ATmega32U2
- ATmega16U4 / ATmega32U4
- SparkFun Pro Micro (and clones)
- PJRC Teensy 2.0
- Adafruit Feather 32U4
- AT90USB64 / AT90USB128
- PJRC Teensy++ 2.0
- AT90USB162
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:
- STM32F0x2
- STM32F103
- Bluepill (with STM32duino bootloader)
- STM32F303
- QMK Proton-C
- STM32F401
- WeAct Blackpill
- STM32F405
- STM32F407
- STM32F411
- WeAct Blackpill
- STM32F446
- STM32G431
- STM32G474
- STM32L412
- STM32L422
- STM32L432
- STM32L433
- STM32L442
- STM32L443
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.