Which Keyboards and Microcontrollers Are Compatible With QMK Firmware?
Updated
QMK Firmware is open-source keyboard firmware built for Atmel AVR and Arm USB microcontroller families, so compatibility is decided by the controller on your keyboard rather than by the brand or model name alone. If your board runs a supported AVR or Arm USB chip and has a QMK port maintained in the project, you can build and flash it; if it uses a different chip family or has no port, QMK will not run on it as-is.
The two compatibility layers
QMK compatibility is not a single yes/no answer. It depends on two separate things:
- Hardware compatibility — the microcontroller must belong to a family QMK targets (Atmel AVR or Arm USB).
- Firmware support — someone must have written and maintained a QMK keyboard definition for that specific board.
A chip can be supported by QMK in general while your particular keyboard still has no working port. Both layers have to line up.
Microcontroller families
QMK's own description names the supported silicon: Atmel AVR and Arm USB families. That covers the classic AVR chips used in many DIY and enthusiast boards, plus Arm-based USB microcontrollers used in newer designs.
What this means in practice:
- If your keyboard's controller is an AVR or Arm USB part, the hardware side is potentially compatible.
- If it is some other architecture, QMK is not the firmware for it.
- Being in a supported family is necessary but not sufficient — you still need a keyboard definition.
How to check a specific keyboard
The reliable way to confirm compatibility is to look for your board in QMK's own resources rather than trusting a product listing.
- Check the official compatibility list on the QMK site for supported keyboards.
- Look in the keyboard source directory of the QMK repository — if your board has a folder with its own definition, it has a port.
- Match the exact revision. Many keyboards ship in multiple versions with different controllers, and a port for one revision may not apply to another.
If you find your model in the source tree, you can build firmware for it. If you only find a similar name, treat it as unconfirmed until you verify the controller and revision.
What is not guaranteed
QMK does not promise that every keyboard on the market can be flashed with it. Two common gaps:
- No port exists. Plenty of commercial keyboards use supported chips but have never had a QMK definition written, so there is nothing to flash.
- Locked or non-standard controllers. Some boards use controllers or bootloaders that are not set up for community firmware, which blocks flashing even when the chip family looks right.
A keyboard being mechanical, hot-swappable, or marketed to enthusiasts tells you nothing about QMK support on its own.
A practical decision path
Use this order to avoid wasted effort:
- Identify the exact controller on your board (chip family and model).
- Confirm it falls under Atmel AVR or Arm USB.
- Search the QMK keyboard source directory for your model and revision.
- If found, follow the build and flash instructions for that keyboard.
- If not found, check whether a community port is in progress before assuming it will work.
Following this sequence tells you whether QMK is an option before you invest time in setup.