Wiring

配線図・マトリクス説明

内部手配線で迷いやすい、行列、ダイオード、I/Oエキスパンダー、左右接続をまとめます。実際の最終割り当ては配線図とファームウェア設定を必ずセットで確認します。

Matrix

キーマトリクスの基本

キーボードは、すべてのキーを個別のGPIOに直結するのではなく、行と列の交点として読む構成が一般的です。QMKの手配線ガイドでも、片側のスイッチ端子を行方向、もう片側を列方向につなぐ考え方が説明されています。 この作品でも、キー入力は行と列の組み合わせとして扱います。配線図、QMKの MATRIX_ROWS / MATRIX_COLS、keymap.c のレイアウトは同じ座標でそろえる必要があります。

左手側の配線図とピン配置

Diode

ダイオードの向き

マトリクスでは、複数キー同時押し時の回り込みを抑えるためにダイオードを入れます。向きは配線図とQMKの DIODE_DIRECTION を一致させます。 QMK公式ドキュメントでは COL2ROW / ROW2COL の指定があり、COL2ROW は黒い印が行側を向く説明になっています。この作品の実装方向を確認するときも、部品上の印、配線図、QMK設定を同時に見るのが安全です。

  • ダイオードの黒い帯を基準に向きをそろえる。
  • 配線図に方向マークを書く。
  • QMKの DIODE_DIRECTION と逆になっていないか確認する。
  • 1キーだけ仮配線して、入力が出る方向を先に確認する。

MCP23017

MCP23017を使う理由

Seeed XIAO RP2040は小型で使いやすい一方、キーボードの行列をそのまま全部つなぐにはGPIO数に余裕が少なくなります。そこで、I2C接続のI/OエキスパンダーであるMCP23017を使い、キーマトリクス用の入出力を増やします。 Microchipの製品情報では、MCP23017は16-bit I2C I/O Expanderとして扱われています。GPAとGPBは8bitずつのポートとして見えるため、行・列のどちらに割り当てるかを配線図とmatrix.cでそろえます。

XIAO RP2040

XIAO RP2040との接続

Seeed公式のXIAO RP2040ピン表では、D4がSDA(GPIO6)、D5がSCL(GPIO7)です。この作品では、XIAO RP2040とMCP23017をI2Cで接続する前提で、VCC/GND/SDA/SCL/RESETを確認します。 電源電圧、プルアップ、RESETの扱いは実装条件で変わるため、使う部品のデータシートと実測で確認します。

  • VCC: MCP23017の電源。XIAO側の3V3系で扱う前提なら全体を同じ電圧系にそろえる。
  • GND: 左右ユニット、XIAO、MCP23017で共通にする。
  • SDA/SCL: XIAO RP2040ではD4/D5がI2Cの目安。QMK側のピン指定と合わせる。
  • RESET: 未接続にしない設計なら、プルアップやリセット条件をデータシートで確認する。

Split

左右接続

分割キーボードでは、左右ユニット間に電源、GND、通信線などが通ります。TRRSなどのケーブルを使う場合、端子配列とケーブルの実配線を必ず導通確認します。 特に電源が入った状態での抜き差しは、端子が一瞬ショートする可能性があるため避けます。抜き差しはUSBを外した状態で行う運用にします。

Checklist

配線ミスを減らす確認ポイント

  • 配線図上で、各キーの行・列番号を先に決める。
  • GPA/GPBの何番をどの行・列に使うか、表で管理する。
  • ダイオードの向きは写真で残す。
  • はんだ後に行・列ごとに導通確認する。
  • 隣接配線との短絡をテスターで確認する。
  • 仮配線で1キー入力を確認してから全体へ広げる。

このページは一般的な考え方と、この作品での設計方針を分けて書いています。作品固有の最終配線は、実物の配線図とQMK設定を正としてください。