# Compatible Microcontrollers | QMK Firmware
Documentation for QMK Firmware

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:

- 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:

- ATmega32A
- ATmega328P
- ATmega328

## ARM ​

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

### STMicroelectronics (STM32) ​

- STM32F0x2
- STM32F103
  - Bluepill (with STM32duino bootloader)
- STM32F303
  - QMK Proton-C
- STM32F401
  - WeAct Blackpill
- STM32F405
- STM32F407
- STM32F411
  - WeAct Blackpill
- STM32F446
- STM32G431
- STM32G474
- STM32H723
- STM32H733
- STM32L412
- STM32L422
- STM32L432
- STM32L433
- STM32L442
- STM32L443

### WestBerryTech (WB32) ​

- WB32F3G71xx
- WB32FQ95xx

### Artery (AT32) ​

- AT32F415

### NXP (Kinetis) ​

- MKL26Z64
  - PJRC Teensy LC
- MK20DX128
- MK20DX256
  - PJRC Teensy 3.2
- MK64FX512
  - PJRC Teensy 3.5
- MK66FX1M0
  - PJRC Teensy 3.6

### Raspberry Pi ​

- RP2040

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

## RISC-V ​

### GigaDevice ​

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.