Skip to content

EC87 ​

An 87-key TKL electrostatic-capacitive keyboard from CZMao. Runs QMK firmware, supports live remap via VIA, and includes web-based actuation calibration.

QQ Group

677654482

1. Basic specs ​

SpecDetail
Layout87 keys, TKL (ANSI)
SwitchElectrostatic capacitive
ConnectionWired only
PortType-C (C2C supported)
MCUAPM32F103CBT6 (STM32F103 compatible)
FirmwareQMK (open source)
Remap toolCZMao VIA
Custom keysSupported
N-Key rolloverSupported
Polling rate1000 Hz
UnderglowWS2812 RGB (rear underglow)

2. Actuation calibration (self-learning trigger) ​

The electrostatic trigger point may drift slightly with the rubber dome, spring, temperature, humidity and your typing habits. The firmware has automatic learning built in — no manual work required:

  • Just type normally and you're calibrating. Each key learns its bottom-out travel as you press it; the more you press, the closer it matches your feel.
  • After 5 seconds of no typing, the learned data is written to the keyboard's internal Flash automatically.
  • The data survives power loss and firmware updates — calibration data lives in a dedicated Flash page, firmware upgrades don't touch it.
  • Unlearned keys use the factory default threshold — the keyboard works out of the box.

Web calibration (optional) ​

To calibrate all keys at once, or to visualize each key's learning state:

  1. Open the CZM Keyboard Calibration page in Chrome / Edge (a universal calibration page shared by all our electrostatic-capacitive PCBs; also reachable via EC tools in the top nav of micah.vip);
  2. Plug in the keyboard, click Connect, and pick your keyboard from the device picker (it lists every HID device on this machine — no model filtering). After connecting, confirm EC87 is highlighted in the PCB model list on the left; click it manually if it isn't;
  3. Tick the layout options at the top to match your installed keycaps (spacebar length, split space / enter, etc.); only the selected layout shows on the diagram;
  4. Click Start Calibration; the keyboard enters silent mode (no key events are sent to the host during this time — normal), then press each key all the way down and release (normal pressure is enough);
  5. Pressed keys glow gold (idle jitter is filtered, no flickering when your hands are off the keyboard), turning green with a ✓ when learned; once all keys are green, click Save Calibration;
  6. To exit mid-calibration and resume typing, click Resume Key Output; click Clear and Retry to wipe learned data and restore factory thresholds; silent mode auto-resumes output after 10 minutes of inactivity.

Place the keyboard on a flat stable surface and don't rest on any keys during calibration. The web calibration and auto-learning share the same data — mixing them is fine; new keys revealed by switching layout options just need a fresh press.

3. Driver & keymap ​

  • Live remap: open CZMao VIA at via.micah.vip, click Authorize device, select EC87, and you can visually remap, add layers, and set combos — changes take effect instantly without reflashing;
  • CZMao VIA already includes keymap definitions for all our keyboards, recognized automatically — no manual JSON import needed (the official usevia.app doesn't include our keyboards; not recommended);
  • The keyboard has two function layers: Fn (bottom row, left of Right Ctrl) = Mo(1) media & system layer; the RGB layer (Mo(2)) is entered by the Fn + Right Alt combo (Right Alt sits to the right of the spacebar; split-Shift versions have a separate Fn2 key between Right Shift and ↑ — equivalent to that combo).

Fn layer (media / system) ​

Hold the bottom-row Fn key (left of Right Ctrl):

ShortcutFunctionNote
Fn + POpen media player
Fn + SpacePlay / Pause
Fn + Left / RightPrevious / Next track
Fn + Up / DownVolume + / Volume -
Fn + BackspaceDelete
Fn + Esc` (backtick)
Fn + Right AltEnter RGB layer (Mo(2))Hold, then tap RGB keys

RGB layer (Fn + Right Alt) ​

To enter: hold the bottom-row Fn and press Right Alt (to the right of the spacebar). On split-Shift versions you can also press the dedicated Fn2 key to the right of Right Shift — equivalent to that combo. Hold the combo and tap the keys below:

ShortcutFunction
Fn + Right Alt + EscFactory reset
Fn + Right Alt + Left ShiftUnderglow on/off
Fn + Right Alt + Z / XBrightness - / +
Fn + Right Alt + C / VHue - / +
Fn + Right Alt + B / NSaturation - / +
Fn + Right Alt + M / , (comma)Speed - / +
Fn + Right Alt + . (period) / / (slash)Cycle effect next / prev

RGB LEDs are on the rear of the keyboard. They're intended for desk underglow ambience, not status indication.

Entering the bootloader ​

Either of the following works (see "Firmware update" below for details):

  1. Issue the Bootloader command in VIA;
  2. Press Fn + Right Alt + Left Ctrl simultaneously (Fn is the bottom-row function key).

4. Firmware update ​

EC87 uses uf2boot for the bootloader — flashing is as simple as copying a file:

  1. Download the latest .uf2 firmware file from the CZMao link (via version has full remap capability; ordinary users should flash the via version);
  2. Issue the Bootloader command in VIA (or press Fn + Right Alt + Left Ctrl); the keyboard enters flashing mode and a USB drive named UF2BOOT appears on your computer;
  3. Drag the .uf2 file onto the drive; the keyboard writes and reboots automatically — upgrade complete;
  4. If you flash the wrong firmware or the keyboard becomes unresponsive, repeat step 2 and drag in the correct firmware — it won't brick.

Firmware updates don't clear the actuation calibration data.

5. FAQ ​

Q: Do I need to calibrate manually? No. Just typing normally triggers auto-learning. Web calibration is only for users who want a "one-shot" calibration or want to see visualized data.

Q: The VIA web page doesn't recognize the keyboard? ① Make sure you're using a data cable, not a charge-only cable. ② Try a different USB port and replug. ③ The browser must be Chrome or Edge (Safari / Firefox don't support WebHID).

Q: Trigger feel changed / a key needs much more force to register? Open the calibration page and click Clear and Retry, then either resume normal typing or redo the web calibration. If it still feels abnormal, check that the rubber dome is properly seated.

Q: Does flashing firmware erase calibration data? No. Calibration data is stored in a dedicated Flash page, separate from firmware.

Q: Can I turn off the rear underglow? Yes — press Fn + Right Alt + Left Shift to disable it (see RGB layer notes above).

6. Firmware download ​

FileDescriptionRelease dateSize
czmao_ec87_via_260922.uf2VIA firmware (full remap; most users should flash this)2026-09-2284 KB
czmao_ec87_via.jsonVIA keymap definition file2026-09-227 KB

For flashing steps, see section 4 "Firmware update" above.

7. Revision history ​

VersionDateChange
1.32026-09-23RGB layer shortcuts rewritten as "Fn + Right Alt + …" (was Fn2); removed the "hold Esc while plugging USB" bootloader method; three-key bootloader combo unified as Fn + Right Alt + Left Ctrl
1.22026-09-22Rewrote Fn layer shortcut table to match firmware (P/Space/arrows); added section 6 "Firmware download" (uf2 + VIA json); bootloader shortcut unified to Left Ctrl + Right Alt + Fn
1.12026-09-14Unified format template: frontmatter + overview + revision history; QQ group block formatting fix
1.02026-09-14Chinese / English bilingual release (supersedes the legacy 2_wired/EC87.md)

评论 / 提问 (填个昵称就能留言,无需注册;邮箱选填,填了能收到回复通知)

Released under the MIT License.