qmk/qmk_firmware
FreeOpen-source keyboard firmware for Atmel AVR and Arm USB families
FreeFree tier
About qmk/qmk_firmware
QMK (Quantum Mechanical Keyboard) Firmware is an open-source keyboard firmware based on tmk_keyboard, designed for Atmel AVR and ARM USB families. It supports a wide range of keyboards including Planck, Preonic, ErgoDox EZ, Clueboard, Cluepad, Atreus, and many others through community contributions. The firmware is developed and maintained by Jack Humbert of OLKB with contributions from the community. Official documentation is available at docs.qmk.fm.
Key Features
Based on tmk_keyboard firmware for Atmel AVR and ARM controllers
Supports OLKB product line (Planck, Preonic), ErgoDox EZ, Clueboard, Cluepad, Atreus
Community support for many additional keyboards
Official documentation at docs.qmk.fm with offline viewing option
Developed and maintained by Jack Humbert (OLKB) with contributions from Hasu and community
Licensed under GPL-2.0 and GPL-3.0
Active GitHub repository with 20.6k stars and 44.1k forks
Pros & Cons
Pros
- Free and open-source
- Large and active community contributors
- Wide hardware support across many keyboard families
- Extensive documentation available online and offline
- Actively maintained with frequent releases
Cons
- Requires technical knowledge of firmware development and keyboard hardware
- Not a GUI-based configuration tool - primarily code-driven
Best For
Building custom mechanical keyboard firmwareCustomizing keyboard layouts and keymapsEnabling advanced features for OLKB, ErgoDox EZ, Clueboard, and Atreus keyboardsLearning keyboard firmware development through open-source code