All guides

QMK, ZMK and RMK: know your firmware

How the three open-source firmwares differ, and how to tell which one your keyboard runs.

Last updated 2026-10-15

Firmware is the program running on your keyboard's controller: it scans every key and turns presses into signals your computer understands. How you remap depends on the firmware, so the first step is finding out which one you have.

Firmwares and their remapping tools
Firmwares and their remapping tools

At a glance

QMKZMKRMK
Best forWired keyboardsWireless / BluetoothWired and wireless
Written inCC (on Zephyr)Rust
Live remappingVIA, VialZMK StudioVial
Default keymapQMK Configurator, sourceEdit .keymap, GitHub builds itEdit keyboard.toml, rebuild
Common controllersATmega32U4, RP2040, STM32nRF52840 (e.g. nice!nano)nRF52840, RP2040, STM32, ESP32
Split termsmaster / slavecentral / peripheralcentral / peripheral
  • QMK — the oldest and most feature-rich; the usual choice for wired custom keyboards.
  • ZMK — built for low-power wireless; most Bluetooth split keyboards use it.
  • RMK — a newer Rust firmware for both wired and wireless boards, remapped live with Vial.

Which firmware is yours?

  1. Check the product page or manual — it usually says.
  2. Is it wireless? A Bluetooth, battery-powered split board is most likely ZMK or RMK.
  3. Try the tools:
    • Open usevia.app in Chrome; if it connects → QMK with VIA.
    • Open the Vial app or vial.rocks; if it connects → Vial (QMK or RMK).
    • Open zmk.studio; if it connects → ZMK with Studio enabled.
  4. If none work, ask the keyboard's maker — don't flash random firmware to find out.

Next steps