Choosing Firmware Platform
List of implemented features
| Feature | PiKey | Makerdiary Python Keyboard | KMK |
|---|---|---|---|
| License | MIT | MIT | GPLV3 |
| Connectivity and Power Saving Options | |||
| Low Latency BLE Support | ✅ | ✅ | ✅ |
| Multi-Device BLE Support (Several Computers) | ❓ | ||
| USB HID | ✅ | ✅ | ✅ |
| 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 | 🚧 | ||
| Macros | ✅ | ✅ | |
| 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 | ✅ | ✅ | |
| Encoders | ✅ | ✅ | |
| 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.
Notes