2019-11-09 08:34:25 +06:00
# Compatible Microcontrollers
2017-04-11 19:55:24 +06:00
2022-01-19 15:34:59 +06:00
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.
2017-04-11 19:55:24 +06:00
2022-06-14 16:15:01 +06:00
Features within QMK may or may not be compatible with every microcontroller.
2019-11-09 08:34:25 +06:00
## Atmel AVR
2013-11-18 06:39:10 +06:00
2019-11-09 08:34:25 +06:00
The following use [LUFA ](https://www.fourwalledcubicle.com/LUFA.php ) as the USB stack:
2013-11-18 01:47:36 +06:00
2019-11-09 08:34:25 +06:00
* [ATmega16U2 ](https://www.microchip.com/wwwproducts/en/ATmega16U2 ) / [ATmega32U2 ](https://www.microchip.com/wwwproducts/en/ATmega32U2 )
* [ATmega16U4 ](https://www.microchip.com/wwwproducts/en/ATmega16U4 ) / [ATmega32U4 ](https://www.microchip.com/wwwproducts/en/ATmega32U4 )
2022-01-19 15:34:59 +06:00
* SparkFun Pro Micro (and clones)
* PJRC Teensy 2.0
* Adafruit Feather 32U4
2019-11-09 08:34:25 +06:00
* [AT90USB64 ](https://www.microchip.com/wwwproducts/en/AT90USB646 ) / [AT90USB128 ](https://www.microchip.com/wwwproducts/en/AT90USB1286 )
2022-01-19 15:34:59 +06:00
* PJRC Teensy++ 2.0
2021-01-30 09:53:56 +06:00
* [AT90USB162 ](https://www.microchip.com/wwwproducts/en/AT90USB162 )
2017-04-11 19:55:24 +06:00
2019-11-09 08:34:25 +06:00
Certain MCUs which do not have native USB will use [V-USB ](https://www.obdev.at/products/vusb/index.html ) instead:
2017-04-11 19:55:24 +06:00
2019-11-09 08:34:25 +06:00
* [ATmega32A ](https://www.microchip.com/wwwproducts/en/ATmega32A )
* [ATmega328P ](https://www.microchip.com/wwwproducts/en/ATmega328P )
2020-06-11 03:23:11 +06:00
* [ATmega328 ](https://www.microchip.com/wwwproducts/en/ATmega328 )
2017-04-11 19:55:24 +06:00
2019-11-09 08:34:25 +06:00
## ARM
2021-01-30 17:00:56 +06:00
You can also use any ARM chip with USB that [ChibiOS ](https://www.chibios.org ) supports. Most have plenty of flash. Known to work are:
2019-11-09 08:34:25 +06:00
### STMicroelectronics (STM32)
* [STM32F0x2 ](https://www.st.com/en/microcontrollers-microprocessors/stm32f0x2.html )
* [STM32F103 ](https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html )
2022-01-19 15:34:59 +06:00
* Bluepill (with STM32duino bootloader)
2019-11-09 08:34:25 +06:00
* [STM32F303 ](https://www.st.com/en/microcontrollers-microprocessors/stm32f303.html )
2022-01-19 15:34:59 +06:00
* QMK Proton-C
2021-02-06 06:27:46 +06:00
* [STM32F401 ](https://www.st.com/en/microcontrollers-microprocessors/stm32f401.html )
2022-01-19 15:34:59 +06:00
* WeAct Blackpill
2021-09-25 05:19:41 +06:00
* [STM32F405 ](https://www.st.com/en/microcontrollers-microprocessors/stm32f405-415.html )
2021-08-09 02:52:13 +06:00
* [STM32F407 ](https://www.st.com/en/microcontrollers-microprocessors/stm32f407-417.html )
2021-02-06 06:27:46 +06:00
* [STM32F411 ](https://www.st.com/en/microcontrollers-microprocessors/stm32f411.html )
2022-01-19 15:34:59 +06:00
* WeAct Blackpill
2021-04-25 14:59:25 +06:00
* [STM32F446 ](https://www.st.com/en/microcontrollers-microprocessors/stm32f446.html )
2021-02-06 06:27:46 +06:00
* [STM32G431 ](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x1.html )
* [STM32G474 ](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x4.html )
2023-06-28 09:07:14 +06:00
* [STM32H723 ](https://www.st.com/en/microcontrollers-microprocessors/stm32h723-733.html )
* [STM32H733 ](https://www.st.com/en/microcontrollers-microprocessors/stm32h723-733.html )
2021-06-30 06:07:40 +06:00
* [STM32L412 ](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html )
* [STM32L422 ](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html )
2022-01-24 03:49:36 +06:00
* [STM32L432 ](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html )
2021-04-26 09:07:15 +06:00
* [STM32L433 ](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x3.html )
2022-01-24 03:49:36 +06:00
* [STM32L442 ](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html )
2021-04-26 09:07:15 +06:00
* [STM32L443 ](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x3.html )
2021-12-09 09:49:10 +06:00
### WestBerryTech (WB32)
2021-11-27 04:28:18 +06:00
* [WB32F3G71xx ](http://www.westberrytech.com )
2022-05-23 11:57:24 +06:00
* [WB32FQ95xx ](http://www.westberrytech.com )
2019-11-09 08:34:25 +06:00
### NXP (Kinetis)
* [MKL26Z64 ](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/kl-series-cortex-m0-plus/kinetis-kl2x-72-96-mhz-usb-ultra-low-power-microcontrollers-mcus-based-on-arm-cortex-m0-plus-core:KL2x )
2022-01-19 15:34:59 +06:00
* PJRC Teensy LC
2019-11-09 08:34:25 +06:00
* [MK20DX128 ](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k2x-usb/kinetis-k20-50-mhz-full-speed-usb-mixed-signal-integration-microcontrollers-based-on-arm-cortex-m4-core:K20_50 )
* [MK20DX256 ](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k2x-usb/kinetis-k20-72-mhz-full-speed-usb-mixed-signal-integration-microcontrollers-mcus-based-on-arm-cortex-m4-core:K20_72 )
2022-01-19 15:34:59 +06:00
* PJRC Teensy 3.2
2022-07-02 20:12:45 +06:00
* [MK64FX512 ](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k6x-ethernet/kinetis-k64-120-mhz-256-kb-sram-microcontrollers-mcus-based-on-arm-cortex-m4-core:K64_120 )
* PJRC Teensy 3.5
2021-10-01 04:14:37 +06:00
* [MK66FX1M0 ](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k6x-ethernet/kinetis-k66-180-mhz-dual-high-speed-full-speed-usbs-2mb-flash-microcontrollers-mcus-based-on-arm-cortex-m4-core:K66_180 )
2022-01-19 15:34:59 +06:00
* PJRC Teensy 3.6
2019-11-09 08:34:25 +06:00
2022-06-30 17:19:27 +06:00
### Raspberry Pi
* [RP2040 ](https://www.raspberrypi.com/documentation/microcontrollers/rp2040.html )
2024-05-30 08:00:41 +06:00
For a detailed overview about the RP2040 support by QMK see the [dedicated RP2040 page ](platformdev_rp2040 ).
2022-06-30 17:19:27 +06:00
2019-11-09 08:34:25 +06:00
## Atmel ATSAM
2022-01-19 15:34:59 +06:00
There is limited support for one of Atmel's ATSAM microcontrollers, that being the [ATSAMD51J18A ](https://www.microchip.com/wwwproducts/en/ATSAMD51J18A ) used by the [Massdrop keyboards ](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop ). However, it is not recommended to design a board with this microcontroller as the support is quite specialized to Massdrop hardware.
2021-10-18 11:23:20 +06:00
## RISC-V
### GigaDevice
2021-12-09 09:49:10 +06:00
[ChibiOS-Contrib ](https://github.com/ChibiOS/ChibiOS-Contrib ) has support for the GigaDevice [GD32VF103 series ](https://www.gigadevice.com/products/microcontrollers/gd32/risc-v/mainstream-line/gd32vf103-series/ ) microcontrollers and provides configurations for the [SiPeed Longan Nano ](https://longan.sipeed.com/en/ ) development board that uses this microcontroller. It is largely pin and feature compatible with STM32F103 and STM32F303 microcontrollers.