A curated list of awesome ZMK firmware resources, links, zmk-config's, zmk-drivers, tools, hardware, and community projects.
194
stars
7
commits
Jan 6, 2026
updated

A curated list of awesome ZMK firmware resources, links, zmk-config's, zmk-drivers, tools, hardware, and community projects.
Pete Johanson 1 is the creator and lead maintainer of the ZMK Firmware project
Zephyr™ Mechanical Keyboard (ZMK) Firmware
ZMK Firmware 23 is an open source (MIT) keyboard firmware built on the Zephyr™ Project Real Time Operating System (RTOS) 45. ZMK's goal is to provide a modern, wireless, and powerful firmware free of licensing issues.
In ZMK, a board defines the PCB that includes the microcontroller unit (MCU). For keyboards, this is one of two options:
Complete keyboard PCBs that include the MCU (e.g. the Planck or Preonic). Small MCU boards (e.g. the nice!nano or Seeed Studio Xiao RP2040) that expose pins and are designed to be combined with larger keyboard PCBs, or hand-wired to switches to create the final keyboard 6.
In ZMK, a shield is a PCB or hardwired set of components that when combined with an MCU-only board, like the SparkFun Pro Micro RP2040 or nice!nano, results in a complete usable keyboard. Examples would be keyboard PCBs like the Kyria or Lily58. The shield is usually the big PCB containing all the keys 6.
ZMK makes use of Zephyr modules to include additional source code or configuration files into its build. You can think of them as similar to plugins or themes. The most common uses of this feature are:
Zephyr Project:
Nordic Semiconductor:
ZSWatch - Zephyr Smartwatch:
zmk-config repository.[!NOTE] elpekenin/zmk-userspace These drivers can be easily located here and not only in behaviors
rgbled_widgetNOTE ZMK Supports Dongle scheme for 3 controllers (host + 2 halves). It's a little bit more battery friendly (up to a month on a 100 mAh) than a battery-powered BT host (up to 7 days) 8.
NOTE These tools have been tested first -hand (Except for Parllel Clamping, I have a model very similar to that) and could say that they are essential (personal perspective) helped me and still help me repeatedly and they have validated every penny!
NOTE These are the most popular boards, but there are more
Wireless - Pro Micro Interconnect (nRF52840 and others)
nice_nano_v2nice_nanopuchi_ble_v1nice_nano_v2mikotovikotonrfmicro_11nrfmicro_13Wired - Pro Micro Interconnect (RP2040 and others)
sparkfun_pro_micro_rp2040boardsource_blokadafruit_kb2040proton_csvlinky@0.2.0 and svlinky@0.1.0Wireless - Seeed XIAO Interconnect (nRF52840 and others)
seeeduino_xiao_bleWired - Seeed XIAO Interconnect (RP2040 and others)
adafruit_qt_py_rp2040seeeduino_xiao_rp2040seeeduino_xiaoxivik@0.1.0,xivik@0.2.0 and xivik@0.3.0This list is licensed under the Creative Commons Zero v1.0 Universal.
Pete Johanson: https://petejohanson.dev/ ↩
ZMK Firmware official website: https://zmk.dev ↩
ZMK Firmware official code repository: https://github.com/zmkfirmware/zmk ↩
Zephyr Project official website: https://www.zephyrproject.org ↩
Zephyr Project Code Repository: https://github.com/zephyrproject-rtos/zephyr ↩
Hardware Integration: https://zmk.dev/docs/development/hardware-integration#what-is-a-shield ↩ ↩2
Modules: https://zmk.dev/docs/features/modules ↩ ↩2
joric dongles wiki: https://github.com/joric/nrfmicro/wiki/Alternatives#dongles ↩
ZMK Firmware official physical layouts integration: We recommend the use of this tool for writing a physical layout or converting one from a QMK JSON definition. If your keyboard already has a physical layout defined for the use with KLE, we recommend using this other tool first to convert your existing layout into QMK JSON. The second tool can also import the position data from KiCAD, if said program was used to design the keyboard - https://zmk.dev/docs/development/hardware-integration/physical-layouts ↩ ↩2
Online Power Profiler for Bluetooth LE: https://devzone.nordicsemi.com/power/w/opp ↩
7 commits
A curated list of awesome ZMK firmware resources, links, zmk-config's, zmk-drivers, tools, hardware, and community projects.
194
stars
7
commits
Jan 6, 2026
updated

A curated list of awesome ZMK firmware resources, links, zmk-config's, zmk-drivers, tools, hardware, and community projects.
Pete Johanson 1 is the creator and lead maintainer of the ZMK Firmware project
Zephyr™ Mechanical Keyboard (ZMK) Firmware
ZMK Firmware 23 is an open source (MIT) keyboard firmware built on the Zephyr™ Project Real Time Operating System (RTOS) 45. ZMK's goal is to provide a modern, wireless, and powerful firmware free of licensing issues.
In ZMK, a board defines the PCB that includes the microcontroller unit (MCU). For keyboards, this is one of two options:
Complete keyboard PCBs that include the MCU (e.g. the Planck or Preonic). Small MCU boards (e.g. the nice!nano or Seeed Studio Xiao RP2040) that expose pins and are designed to be combined with larger keyboard PCBs, or hand-wired to switches to create the final keyboard 6.
In ZMK, a shield is a PCB or hardwired set of components that when combined with an MCU-only board, like the SparkFun Pro Micro RP2040 or nice!nano, results in a complete usable keyboard. Examples would be keyboard PCBs like the Kyria or Lily58. The shield is usually the big PCB containing all the keys 6.
ZMK makes use of Zephyr modules to include additional source code or configuration files into its build. You can think of them as similar to plugins or themes. The most common uses of this feature are:
Zephyr Project:
Nordic Semiconductor:
ZSWatch - Zephyr Smartwatch:
zmk-config repository.[!NOTE] elpekenin/zmk-userspace These drivers can be easily located here and not only in behaviors
rgbled_widgetNOTE ZMK Supports Dongle scheme for 3 controllers (host + 2 halves). It's a little bit more battery friendly (up to a month on a 100 mAh) than a battery-powered BT host (up to 7 days) 8.
NOTE These tools have been tested first -hand (Except for Parllel Clamping, I have a model very similar to that) and could say that they are essential (personal perspective) helped me and still help me repeatedly and they have validated every penny!
NOTE These are the most popular boards, but there are more
Wireless - Pro Micro Interconnect (nRF52840 and others)
nice_nano_v2nice_nanopuchi_ble_v1nice_nano_v2mikotovikotonrfmicro_11nrfmicro_13Wired - Pro Micro Interconnect (RP2040 and others)
sparkfun_pro_micro_rp2040boardsource_blokadafruit_kb2040proton_csvlinky@0.2.0 and svlinky@0.1.0Wireless - Seeed XIAO Interconnect (nRF52840 and others)
seeeduino_xiao_bleWired - Seeed XIAO Interconnect (RP2040 and others)
adafruit_qt_py_rp2040seeeduino_xiao_rp2040seeeduino_xiaoxivik@0.1.0,xivik@0.2.0 and xivik@0.3.0This list is licensed under the Creative Commons Zero v1.0 Universal.
Pete Johanson: https://petejohanson.dev/ ↩
ZMK Firmware official website: https://zmk.dev ↩
ZMK Firmware official code repository: https://github.com/zmkfirmware/zmk ↩
Zephyr Project official website: https://www.zephyrproject.org ↩
Zephyr Project Code Repository: https://github.com/zephyrproject-rtos/zephyr ↩
Hardware Integration: https://zmk.dev/docs/development/hardware-integration#what-is-a-shield ↩ ↩2
Modules: https://zmk.dev/docs/features/modules ↩ ↩2
joric dongles wiki: https://github.com/joric/nrfmicro/wiki/Alternatives#dongles ↩
ZMK Firmware official physical layouts integration: We recommend the use of this tool for writing a physical layout or converting one from a QMK JSON definition. If your keyboard already has a physical layout defined for the use with KLE, we recommend using this other tool first to convert your existing layout into QMK JSON. The second tool can also import the position data from KiCAD, if said program was used to design the keyboard - https://zmk.dev/docs/development/hardware-integration/physical-layouts ↩ ↩2
Online Power Profiler for Bluetooth LE: https://devzone.nordicsemi.com/power/w/opp ↩
7 commits