跳转到内容

20260928-0908-key-expansion-units Scale Key with MCU-less expansion units instead of one MCU per eight keys

  • status: completed
  • priority: P1
  • owner: claude/session-20260922-0815
  • createdAt: 2026-09-28 09:08

Key spec R0.3 (task 20260928-0836, not yet committed) scales beyond eight keys by combining units that each carry their own ESP32-C6 module. The owner pointed out that this makes the MCU cost grow with every eight keys and asked for easy expansion instead ("最好可以容易扩展不然 mcu 很贵"). The change: one base unit with the MCU and up to four expansion units without an MCU, each holding an I2C I/O expander and an LED driver on the base unit's I2C bus; several base units remain possible for panels that are far apart.

Acceptance criteria:

  1. Spec, design, guide, brief, indexes, evaluation and governance pages describe base plus expansion units consistently; the per-board limit of eight keys stays.
  2. A fault on an expansion unit or its bus cannot disturb the base unit's keys or create a key event; this is a numbered requirement with a test.
  3. The cost comparison between expansion units and additional base units is recorded with sources.
  4. bun run docs:lint && bun run docs:build && git diff --check passes.

Adding MCU-less expansion units to Key

  • blocked by: (none)
  • blocks: (none)
  • Amends R0.3 in place: R0.3 has not been committed or published.

  • Plan: 20260928-0908-key-expansion-units; approval given in the owner's request.

  • complete: Key pages amended for base and expansion units; KEY-21 added; lint 229 pages 0 findings, build and git diff --check pass.

  • correction 2026-09-28 09:20: expansion limit re-derived from datasheets; 8-channel I2C switch, up to eight expansion units (72 keys).