Firmware2026-05-10·7 min read

QMK vs ZMK: Which Firmware Should You Use?

Two open-source firmware options, each with real strengths. Here's how to choose without the tribalism.

QMK and ZMK are the two dominant firmware options for custom keyboards. Both are open-source, both let you remap every key, and both have passionate communities. The differences matter, though, depending on what you're building.

QMK: the veteran

QMK (Quantum Mechanical Keyboard) has been around since 2015. It's mature, well-documented, and has the largest ecosystem of supported keyboards.

Strengths:

  • Runs on wired keyboards (USB)

  • VIA and Vial support for real-time key remapping without flashing

  • Huge library of existing keyboard definitions

  • RGB and OLED support is extensive

  • Works on AVR (Pro Micro) and ARM (RP2040, STM32) controllers

    Weaknesses:

  • No native wireless support

  • Configuration is done through code (C) or VIA GUI

  • Compilation can be slow on older machines

    ZMK: the modern choice

    ZMK (Zephyr Mechanical Keyboard) was built from the ground up for wireless keyboards using the Zephyr RTOS.

    Strengths:

  • Native Bluetooth support — it's what ZMK was designed for

  • Excellent power management (months on a battery)

  • Configuration through .conf and .keymap files (no C code needed)

  • GitHub Actions compiles your firmware automatically

  • Growing rapidly with new features

    Weaknesses:

  • Smaller ecosystem than QMK

  • No VIA/Vial support (remapping requires recompiling)

  • Bluetooth can be finicky with some operating systems

  • Fewer RGB and display options

    Decision tree

    Are you building a wired keyboard? → QMK. The VIA/Vial experience is unmatched for wired boards.

    Do you need Bluetooth? → ZMK. QMK's Bluetooth support exists but it's experimental and power-hungry.

    Are you using a split keyboard? → ZMK handles split communication natively over BLE, which is cleaner than QMK's serial/I2C approach.

    Do you want real-time key remapping? → QMK with VIA. ZMK requires recompilation for every change, though the ZMK Studio project is working on this.

    Are you a beginner? → Both have a learning curve, but ZMK's config file approach is arguably simpler than QMK's C code. VIA (for QMK) is the easiest option if your keyboard supports it.

    Using both

    Some builders use QMK for wired builds and ZMK for wireless. The key remapping concepts are the same — layers, combos, tap-dance — just expressed differently. Learning one makes the other easier.

    The CUBE approach

    At CUBE, we support both. The MIX split keyboard ships with ZMK for wireless builds and QMK for wired. The firmware choice is yours, and we provide pre-configured keymap files for both. If you want to customize, we'll walk you through the config.