QMK & ZMK Firmware Options
This is the code that lets your write your code!
When building or customizing a mechanical keyboard, especially a split or wireless one, you'll likely run into two popular firmware options: QMK and ZMK. Both are powerful, community-driven platforms — but each has its strengths and ideal use cases.
QMK Quick Overview
QMK (Quantum Mechanical Keyboard) is a firmware based on the AVR (and now ARM) toolchain and has become the gold standard for wired custom keyboards.
QMK Strengths
Very mature and battle-tested code
Rich feature set: tap dance, macros, combos, layers, OLED support
VIA and Vial support for GUI-based key remapping
Huge community and documentation
QMK Weaknesses
Wired only (Bluetooth support extremely limited)
Requires
qmk_firmware
repo and local toolchain to compile using CLI toolsAVR and ARM chip support, but some newer boards need custom setup
ZMK Quick Overview
ZMK (ZMK Firmware) is a newer firmware designed from the ground up for Bluetooth (wireless) keyboards, built on the Zephyr RTOS.
ZMK Strength
Native Bluetooth support
Built for modern MCUs like nRF52840, RP2040, etc.
Supports split wireless keyboards with per-half communication
Keymaps written in Kconfig-style
.keymap
filesGitHub Actions support for firmware builds (ZMK Config)
ZMK Weaknesses
Fewer “power user” features (e.g., no tap dance or dynamic macros… yet)
OLED bug where screens can freeze after keyboard wakes up from sleep
Smaller ecosystem and community
Slightly steeper learning curve if coming from QMK
Limited GUI configurability (ZMK Studio has limited capabilities)
Feature Comparison Table
Feature
QMK
ZMK
Wired support
✅ Yes
✅ Yes
Bluetooth support
⚠️ Limited
✅ Yes
Split keyboard support
✅ Yes (wired)
✅ Yes (wired + wireless)
GUI Configuration
✅ Yes - Via/Vial
⚠️ Limited - ZMK Studio
OLED/display support
✅ Extensive
⚠️ Limited
Macros & Tap Dance
✅ Rich support
❌ Limited/None
Power management
⚠️ Basic
✅ Advanced
Build workflow
Command line
GitHub CI/Web
MCU Support
AVR/ARM
ARM (nRF/RP2040/etc)
What does Turkeyboards use?
All our Wired Keyborads are powered by QMK and are compatible with Vial for easy GUI configuration management.
All our Wireless Keyborads are powered by ZMK and are compatible with ZMK Studio for easy configuration management.
Last updated