Deep Dive · Issue 10
Inside Keychron's Open-Source Gaming Mouse Firmware
Keychron wants to do to gaming mice what QMK did to keyboards. So far the repo is a promise, not a codebase.

The closed box
Firmware you can't read

Keychron's pitch for the project is a complaint about the whole category: every gaming mouse on the market runs firmware you can't read, can't audit, can't change. Mechanical keyboards escaped that world years ago with QMK and ZMK. Mice never did.
Firmware you can't read, can't audit, can't change.
So Keychron announced ZGM, short for Zephyr Gaming Mouse, on July 29, 2026, with a planned launch around Q1 2027. Here is the honest part: the public repo does not contain firmware yet. The README states plainly that sources, board support, build instructions, and flashing guidance are still being prepared.
zgm/ (26 commits, 83 stars) ├─ README.md "sources still being prepared" ├─ CONTRIBUTING.md ├─ CODE_OF_CONDUCT.md ├─ LICENSE (GPL-3.0) ├─ index.html styles.css script.js └─ (no firmware, no board support, no build files)
That makes this a deep dive into an architecture Keychron has committed to, not one it has shipped. The interesting engineering is in the decisions already locked in: the base it builds on, how it plans to split the code, and how it is licensed.
The foundation
Why Zephyr, and why it rhymes with ZMK

The Z in ZGM is Zephyr, the same real-time OS that ZMK already uses for keyboards. That lineage is the point. Instead of writing an RTOS and a peripheral layer from scratch, Keychron inherits Zephyr's existing MCU support, its device model, and its config and build tooling.
Zephyr RTOS
- ZMK (keyboards)
- ZGM (mice)
Coverage reporting frames ZGM as the mouse-side counterpart to what ZMK did on keyboards, running on the same underlying framework. Picking a mature RTOS with broad MCU and peripheral support means the hard, generic plumbing is a dependency rather than a deliverable. The team gets to spend its budget on the parts that make a mouse a mouse.
The core idea
One firmware tree, many mice

The central design commitment is a driver-model abstraction. Common mouse behavior, things like input processing, HID reporting, debounce policy, lighting, and power management, lives in a shared layer, while the hardware specifics of which sensor, which MCU, and which switches sit behind driver interfaces. The stated goal is that one firmware base can support different hardware variants without turning into a monolith.
shared firmware layer
┌───────────────────────────────┐
│ input · HID · debounce │
│ lighting · power management │
└───────────────┬───────────────┘
driver model (abstraction)
┌────────┬──────┴──────┬─────────┐
sensor MCU switches wheel
(swap) (swap) (MagOpt) (swap)If it works, the payoff goes past Keychron's own catalog. One report notes this could eventually let a single PCB design run different internal components under a shared firmware layer, even community-designed or hot-swappable parts. That last part is journalistic extrapolation, not a published spec, so treat it as the direction of travel rather than a promise.
The license
GPL-3.0 is the aggressive choice

ZGM ships under GPL-3.0. That is a deliberately permissive pick: it allows remixing, repackaging, and redistribution, including commercial use. In practice it means other mouse manufacturers could take ZGM as the basis for their own products, which is a striking thing for a hardware company to invite.
ZGM firmware
GPL-3.0: reuse and resell allowed, even by rivals
Keychron CAD repo
source-available: no reselling Keychron-branded designs
It is worth contrasting with Keychron's separate hardware-design repository, which holds industrial CAD for 100+ models but is only source-available, allowing personal use and original compatible accessories while restricting resale of Keychron's own designs. The firmware being GPL and the CAD being merely source-available is a clear signal about where Keychron thinks the leverage is: give away the code, keep a fence around the branded hardware.
The target
A 46-gram mouse and an eight-step plan

The reference hardware is the Keychron G6 HE, a 46 g wireless mouse with a swappable battery, a charging puck, and hybrid MagOpt switches that combine magnetic and optical sensing. Keychron positions it directly against Logitech's G Pro X2 Superstrike, which is the whole reason the firmware story carries weight. Open firmware on a genuinely competitive flagship is a very different bet than open firmware on a budget peripheral.
- Repo bootstrap
- Firmware skeleton
- Input path bring-up
- Sensor integration
- USB functionality
- Hardware abstraction
- Validation workflow
- Extended features (wireless, lighting)
The roadmap runs eight milestones, and the ordering tells you what to expect first. USB HID functionality lands before the extended device features where wireless and lighting live, so wired support arrives ahead of wireless. Keychron is explicit that this is a plan, not a guaranteed schedule, and it is even asking the community to help define an input-latency measurement methodology, which means no latency benchmarks exist yet.
So what are the numbers on Keychron's shipping mice?
None of these run ZGM, but they set the bar it competes against. The M3, for example, uses a PixArt PAW3395 sensor at up to 26,000 DPI with 1000 Hz polling and Kailh microswitches rated for 80 million clicks. Higher SKUs across the M line push to 4K and 8K Hz polling depending on the model.
The stakes
A promise with a license attached
Why it matters
Gaming-mouse firmware has been a uniformly closed box, so a mainstream vendor shipping a GPL-3.0 firmware tree on a flagship-class mouse is a real shift in the category, not a hobby fork. The catch is timing: today the repo is scaffolding and a roadmap, with no drivers, no board support, and no benchmarks. Whether ZGM matters depends entirely on the code Keychron says is still being written, and on whether the driver-model abstraction survives contact with real hardware.
The short version
- **ZGM** is Keychron's announced open-source mouse firmware, built on **Zephyr RTOS**, the same base as **ZMK** for keyboards.
- As of the announcement the repo has **no firmware**: just a landing page, policy files, and a README saying sources are still being prepared.
- The design bet is a **driver-model abstraction** that keeps input, HID, debounce, and lighting shared while swapping sensors, MCUs, and switches underneath.
- **GPL-3.0** licensing lets anyone, including rival manufacturers, reuse and resell the firmware, unlike Keychron's source-available CAD repo.
- First target is the **46 g G6 HE** with hybrid MagOpt switches, aimed at Logitech's G Pro X2 Superstrike, with wired support planned before wireless and a **Q1 2027** launch window.
Sources
- 1.GitHub - Keychron/zgm: Open source gaming mouse firmware built on Zephyr RTOS. Low latency, full customization, extensible driver model. · GitHub
- 2.Keychron's gaming mouse firmware is going open-source, while the company critiques 'firmware you can't read, can't audit, can't change' | PC Gamer
- 3.Keychron announces first open-source firmware for gaming mice
- 4.GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. · GitHub
- 5.Keychron bets open-source mouse firmware can unseat Logitech - Northeast Times
- 6.Mouse Polling Rate Explained: What Gamers Need To Know – Keychron
- 10.Keychron reveals open-source mouse firmware for upcoming Logitech-killer magnetic switch gaming mouse - Notebookcheck News
- 11.Amazon.com: Keychron M3 Wireless Mouse, PAW3395 Sensor Supports 2.4 GHz/Bluetooth 5.1 | Programmable Macro Button 26,000 DPI , 79g Ultra-Light Ergonomic Design Up to 70 Hours Using for PC Mac Laptop - Black : Keychron: Video Games