QMK Firmware で Hello World をした

f:id:lunar0:20190701214157j:plain

2019年6月現在,自作キーボードを一番手っ取り早く始めようとすると QMK Firmware + Pro Micro を使うことになる.容量節約のためか,マクロの山なので何がどこにあるかを把握するのがとにかく大変.

方針:見た目を圧倒的に重視

f:id:lunar0:20190702002940j:plain

さらっとした見た目の60%キーボードを作りたい.60%の基板ならいくらでもあるが,世の中の基板はおおむね (1) マイコンとハードが密結合か,または (2) 汎用の Pro Micro を使うのでサイズが大きくなりがちである.マイコンとハードを疎結合にし,かつサイズを小さくおさめるためには,基板と回路とケースを全て設計する必要がありそう.考えた結果,IOエキスパンダで組んだキーマトリクスをコンパクトな Pro Micro 互換基板からI2CなりSPIなりで読むことにした.

脚の部分には特に何も入れない予定なので,好きに形が作れる.背中を美しく見せるため,ケーブルは左側面から出すつもり.触って痛かろうが気にせず作っていきたい.好みにしたがってスギ柾目のテクスチャを貼ってはみたものの,実際に作ったら数日で角が摩耗してしまいそうなので,何か別のものにする予定.

回路を設計する

秋葉原で買え,かつ5Vで動く部品として MCP23017 を使うことにした.I2Cのプルアップには,そのへんに転がっていた 10kΩ を2本並列にして 5kΩ を使った.波形を見ても100kHzなら鈍っていなかったので,まあよいことにする.

f:id:lunar0:20190701220904p:plain

QMK Firmware を書き換える

QMK Firmware のリファレンスには,キーマトリクスが記載されていない.パフォーマンスにとって重要な部分なので自分でコードを読むか,公式 Discord で聞けと書いてある.面倒なので Ergo 42, Ergodox など分離型キーボードのソースを読んだらどれも matrix.c をコピーしてきて書き換えているようなので,そのようにした.I2Cのドライバは Peter Fleury 氏のものを借りた.

動いた