Skip to main content

Choosing Firmware Platform

List of implemented features

FeaturePiKeyMakerdiary Python KeyboardKMK
Connectivity and Power Saving Options
Low Latency BLE Support
Multi-Device BLE Support (Several Computers)
Battery Reporting (BLE Battery Service)🚧
Low Power Sleep States
Low Active Power Usage
Firmware Options
Keymaps and Layers
Basic Keycodes
Basic consumer (Media) Keycodes🚧
Mouse Keys🚧
Hold-Tap (which includes Mod-Tap and Layer-Tap)🚧
One Shot Keys🚧
Combo Keys🚧
DuckyScipt Macros🚧
Keyboard and Controller Board Hardware Options
Key Matrix Support
Buttons Support (Keys connected directly to GPIOs) 1
Shift Registers Support (Keys connected to Shift Registers) 1
Split Keyboard Support
Key Backlight LED PWM Control🚧
RGB Key Backlight
OLED Display Support🚧
Audio/Speaker Support🚧
Low Power Mode (VCC Shutoff)🚧
Microcontroller Support
Support for Nordic nRF52 Microcontrollers 2
Support for Wide Range of ARM Microcontrollers 2
Support for AVR/8 Bit Microcontrollers
Tooling and Build Configuration
Serial Debug CLI 3
Web Bluetooth Configuration💡
Hardware Troubleshooting tools
Realtime Keymap Updating

This Features Compared page is licenced under CC-BY-NC-SA-4.0 and was adapted from ZMK Firmware Documentation originally created by the ZMK Project Contributors.


  1. REPL
  2. Requires CircuitPython Support
  3. Supported through keypad module