自作キーボードを、今度はゼロから自分で作ってみることにしました。
普段は Keyball を組み立てて使っています。
分割トラックボール、間にメモがおけて個人的にとても満足しています。
ただ Keyball は「キット」なので、基板もファームウェアも用意されたものを組み立てるのがメイン。
作りながら、だんだん「中で何が起きているのか、自分で一から組んでみたいな」という欲が出てきました。
新しいもの、だいたい在庫切れで買えないしね。
…と言っても、いきなり凝ったものを作るわけではありません。
最初の一台はボタンが1個だけ。押すとEnter が入力されるだけという、
なんとも地味なキーボードです。今回はその基板が届く前の「計画編」をメモしておきます。
どうして「キットから自作」へ進むのか
Keyball の組み立ては本当に楽しかったのですが、終わってみると
「ファームウェアってどう書くんだろう」「基板の配線って結局どうなってるんだ」と、
キットが親切に隠してくれていた部分が気になり始めました。
なので今回のテーマは、その隠れていた部分を 全部自分で握ってみること。
今回のルールはひとつ、「まず自分が便利になるものを作る」。
途中で飽きても・誰にも見られなくても、手元に便利な道具が残るなら損はしません。
そのうえで、作った過程はこうしてブログに残していきます。
なぜ「1ボタン」なのか
自作キーボードには、ざっくり3つの要素があります。
- 基板まわり(配線・スイッチ)
- ファームウェア(キーを認識させるプログラム)
- ケース(ガワ。3Dプリンタで作れる)
Keyball のようなキットだと、この3つはだいたい用意してもらえます。
ありがたいのですが、逆に言うと「自分で一から組む経験」はあまり積めません。
そこで今回は、この3つをいちばん小さい規模でひと通り自分でやる。
ボタン1個なら、配線もファームウェアもケースも最小限で一周できます。
小さく一周してみると「自分が何を分かっていないか」が見えてくるはず。
それが分かれば、次はもっと本格的な自作配列にも挑めるな、という作戦です。
使うものを決めました
迷うと進まないので、構成はサクッと決めました。
- マイコン
- RP2040-Zero
- 小さくて安い。1ボタンには十分すぎる
- ファームウェア
- KMK
- Python で書ける。保存した瞬間に反映されて楽
- 配線
- まずブレッドボード
- はんだ付けの本番は次のステップに
- スイッチ
- MX互換を1個(迷ったら茶軸)
- 情報が多くて素直。検証はタクトスイッチでもOK
- ケース
- 3Dプリンタで制作
- プリンタは手元にある
ファームウェアは、KMKにしました。
自作キーボードの定番は QMK ですが、こちらはC言語&ビルドが必要です。
KMK は Python(CircuitPython) で書けます。
「小さく試す」という今回の方針ともよく合っていそうです。
ケースについては、すでに 3Dプリンタを使っているのが強みになりそう。
動作確認が済んだら、自分で設計したガワを載せて「ちゃんとした一台」に仕上げたいところです。
次回は「実機編」
基板が届いたら、ブレッドボードに挿して配線して、code.py を書き込みたいと思います。
スイッチが無くても、配線の2か所を一瞬くっつければ Enter が出るか試せるらしいので、そこが最初の関門になりそうです。

コメント