KeebForge
Guides Firmware & software
Decision 12 of 13

Firmware & software

How keys are remapped, with macros and layers.

Firmware is the software on the controller that turns key presses into characters, layers and macros. The choice is tightly coupled to your controller and connectivity: QMK (with the VIA/Vial GUIs) rules the wired world; ZMK is the wireless standard; KMK is a beginner-friendly Python option. For a programmer friend, QMK + Vial (wired) or ZMK (wireless) hits the sweet spot of power and tooling.

QMK

The powerful, open-source standard for wired boards. Configure in C and flash from source — enormous feature set, used almost everywhere. Best paired with VIA or Vial for live editing.

VIA / Vial

GUI layers on top of QMK that let you remap keys, layers and macros live with no recompiling. Vial is the more open, no-cloud successor. The friendliest way to live with a QMK board.

ZMK

The modern firmware built for wireless (BLE) on nRF chips. Excellent power management and the standard for wireless ergo boards. Config lives in plain-text files in a Git repo — perfect for a developer.

KMK

Firmware written in CircuitPython. The most beginner-friendly to hack on — edit a Python file on a USB drive, no toolchain. Great for tinkering, on RP2040-class chips.

The options, compared

Every choice you'll see for this decision in the builder.

QMK + Vial
Wired power + live GUI

All of QMK's power, plus Vial's GUI for changing keys, layers and macros instantly without recompiling or any cloud account. A superb default for wired boards.

Pros
  • Live remapping, no recompile
  • Full QMK feature set
  • Open-source, no cloud
Trade-offs
  • Wired (QMK) focused
  • Board must support Vial
QMK + VIA
Wired, popular GUI

QMK paired with VIA's point-and-click configurator. Hugely popular and supported by a long list of boards.

Pros
  • Easy live remapping
  • Very widely supported
  • Big community
Trade-offs
  • Board must be VIA-enabled
  • Wired-focused
QMK (from source)
Maximum control

For the tinkerer who wants every feature and total control — write your keymap in C and flash it. The programmer's playground.

Pros
  • Every QMK feature
  • Total control
  • Version-controllable
Trade-offs
  • Recompile to change keys
  • Steeper setup
ZMK
Wireless standard

Built for Bluetooth on nRF chips, with great battery management. Keymaps live in plain-text files in a GitHub repo that builds your firmware automatically — a dream for a developer.

Pros
  • Best-in-class for wireless
  • Git-based config + CI build
  • Excellent power management
Trade-offs
  • Requires nRF controller
  • Edit-and-rebuild workflow
KMK (CircuitPython)
Hackable Python

Firmware in CircuitPython: the board shows up as a USB drive and you edit a Python file directly. The most approachable to hack on.

Pros
  • No build toolchain
  • Edit live in Python
  • Beginner-friendly hacking
Trade-offs
  • Smaller community
  • Best on RP2040-class chips
Further reading
Previous
Controller chip
Next
Sound & dampening
Start designing your keyboard