9月半ば頃に今は静電容量無接点方式(以降 静電容量式 と略す)のキーボードも自作できる時代なのだと知り、そこから自分でも作ってみようとちょこちょこ進めていましたが、ようやく完成させることが出来ました! ちなみにキーボード名は「小石」(英名: miniEC)です。
私の場合、自作キーボードはキットで組み立てたことはあるけど基板の設計からはやったことがないという状態からのスタートでしたが、先人たちの情報のおかげで思い立ってから2ヶ月ほどで完成させることが出来ました。
この記事ではこの2ヶ月どんなことをやって静電容量式キーボードを作れるまでに至ったのかを紹介します。
自作するまでにやったこと
ざっくりとやったことを時系列で並べると以下のような手順を踏みました。
- 「真の静電容量キーボードを作る本」を読む
- 動作原理を理解する
- 「自作キーボード設計入門」を読む
- KiCad の使い方を学ぶ
- 「自作キーボード設計入門2」を読む
- QMK Firmware の書き方を学ぶ
- 「静電容量式自作キーボード設計資料」を読む
- 「真の静電容量キーボードを作る本」には書かれていなかった情報の補填
- 静電容量 Helix を作る
- メカニカルキーボードを基板から設計して作る
- 基板発注の練習
- ブレッドボードで静電容量式キーボードの簡易版を作り実験する
- 静電容量スイッチスキャン用モジュールの使い方を学ぶ
- 静電容量式キーボードを設計する
- 他の人が作った静電容量式キーボードの回路図を眺める
- 静電容量式キーボード用のフットプリント作成
キーボード関連の同人誌を読む
まずは「真の静電容量キーボードを作る本」を読みました。これを読めば静電容量式キーボードを作るときはどんな回路が必要で、どんな firmware を書く必要があるのかわかります。理論のようなハイレイヤーの話が主なので基板の設計をしたことないという場合でも安心して読めます。代わりに高校物理程度の知識はないとおそらく数式追うのが辛いと思うので適宜復習を推奨します。
次に「自作キーボード設計入門」「自作キーボード設計入門2」を読む & 実際に手を動かして KiCad の使い方と QMK Firmware の書き方を学びました。これらの本はメカニカルキーボードの話ですが、メカニカルは動作原理が単純で firmware も書きやすいのではじめの一歩としては丁度よかったです。ただし、これらの本は出版から歳月が経って本の中で使われているソフトウェアのバージョンも上がって本のままでは動かないのでそこは適宜修正する必要があります。幸いメカニカルは作っている人が多く情報も多いので特段困らないと思います。
最後に「静電容量式自作キーボード設計資料」ですが、こちらは他と比べると難しいと感じました。実際に静電容量式キーボードを作る段になってようやく内容が分かってきたという感じだったので初期段階から理解する必要はないと思いますが、とりあえず設計するときには注意を払わなければならない点があるのだなということを頭の片隅に置きましょう。
静電容量 Helix を作る
いくら作り方を学んだところで実物はそうそう思い通りに動いてくれるものではありません。特に静電容量式キーボードの場合、ノイズのせいで入力がうまくいかないという話を見かけますが、実際問題ノイズでどれだけ入力がブレるのかは実物を触らないことには想像できません。 ということで、勉強教材として静電容量 Helix を買って作りました。
実際に作ってみて以下の気づきを得ました
- コニックリングが検出用電極パッドからずれると顕著に入力精度が下がる
- プレート固定用のネジの締め具合で入力精度が変わる
- 検出用電極パッドは指で触っても反応する
- 打鍵感向上させるためにはハウジングの固定が大事
- 私がはんだ付けできる表面実装パーツの最小は 1N4148W のサイズが限界
この中で個人的に一番大事だと思っているのはコニックリングの位置でこれをいかに中心からずらさないかが入力精度に一番効いてくる感じがします。ネジの締め具合で精度が変わったのもおそらくコニックリングの位置がずれたからだと思います。
ちなみにこの頃に Froggy の存在を知り私の中のキーボード観が大きく変わりました。キーボードにトラックボールついたやついいなぁなどと思っていましたが、そもそも片手でキーボード打てば逆の手でマウス使えるじゃん、天才か!? と思いました。生まれてこの方キーボードは両手で打つものだと刷り込まれていましたが、別に両手で打たなければならないなんて決まってないんだ!片手打ちに限らずキーボードはもっと自由でいいんだ!と思い始めたのがこの頃です。よくよく考えてみると人によって手の大きさ、指の可動域は違うのだから個々人にあったキーボードをオーダーメイドするサービスがあってもおかしくないと思うのですが、今の所そのようなサービスは聞いたことがないので不思議なものです。また Froggy 考案者のたくま氏のブログのコメントをみて、世の中には片手しか使えない方もいるのだから片手キーボード分野はもっと発展してもおかしくないし、自作キーボードは配列からキーマップまでなんでもありの世界なので自作キーボード界隈はハンディキャップがある方々の 力になれる存在なのではないかなと思い始めました。
メカニカルキーボードを基板から設計して作る
カッコつけて(?)初キーボード設計から静電容量式を作るというチャレンジをしようかと一瞬考えましたが、まずは情報も多く簡単そうなメカニカルキーボードを設計して基板発注までの流れを練習しました。
決して自分にとってベストな配列ではありませんでしたが、不思議なもので自分が設計したということもあってとても可愛く見えました。
1, 2週間は作ったキーボードをメインに使っていましたが、そのあと keyball39 を作ってメインはそちらに移りました。keyball39 を使う前までは片手3x6+親指3キーがベストと思っていましたが、keyball39 のおかげで6列目はなくても特段困らないということに気付かされたので作成する静電容量式キーボードも5列で作ることに決めました。このあとキーマップについて更に考え、親指キーは2つあれば十分だと気づきましたが、回路のバランス的に3つあったほうがきれいになる(3x6のキーボードとみなすことができる)ので親指キーは3つのままでいくことにしました。
ブレッドボードで実験
Designing a custom Topre board - deskthority にブレッドボードで実験している写真があってこれはいいなと思ったので真似することにしました。 静電容量スイッチスキャンモジュールの使い方もよくわかっていなかったのでこの段階で実際に動かしつつ確認しました。
Designing a custom Topre board - deskthority より
参考元のように1スイッチ分の検出用電極だけ入った基板を作ろうかと思いましたが、どうせならキーマトリックスで実験できるようにしようと思ったので 2x2 で作りました。
静電容量スイッチスキャン用モジュールの参考コードは今の QMK Firmware だと動かないところがありましたが、出てくるエラーを地道に修正したら無事に動きました。
自作静電容量無接点分割キーボード実験、無事に全キー入力できた!
— goropikari (@goropikari_) November 3, 2022
静電容量式用の qmk firmware の書き方も概ね理解できたし、今度は実用サイズのキーボードを設計していこう pic.twitter.com/HVle0YquP3
静電容量式キーボードを設計する
あとはそれまでの知識を総動員してひたすら基板を作っていきました。
配線
配線の仕方一つでノイズがでる怖い世界らしいので、既存の静電容量式キーボードの配線の仕方をよく参照しました。静電容量 Helix の基板データ、「静電容量式自作キーボード設計資料」についてくる CorneEC の基板データ、あとは Cipulot さんという方が静電容量式のキーボードをよく設計されていてデータを GitHub で公開されているのでそれらを参考にしていました。静電容量式キーボードの場合 freerouting 等使わずみんな人力で配線していると思いますが、実際のところ自動で引いた配線でどれだけノイズが出るのかは怖いものみたさで試してみたい気はします。
スイッチ
静電容量式スイッチとしては Niz or BTO のどちらかを選ぶ1ことになりますがハウジングのサイズがそれぞれ異なります。それぞれ用のトッププレートを作ってみましたが結果的に言うと BTO 用のもので Niz のスイッチもブレずに固定できました。
bto 用に作ったトッププレートでも向きを選べば Niz スイッチでもズレなさそうなので常に bto 向けのトッププレートを作っておけば良さそう。mx 互換スイッチに対しては緩いけど使えなくはないくらい。
— goropikari (@goropikari_) November 22, 2022
写真は左からバラ売りNiz, キーボードから移植Niz, bto, kailh, gateron. pic.twitter.com/PkJEvY1QPz
自作スキャンモジュール
この頃、静電容量スイッチスキャン用モジュールが品切れでもう再販されないかなぁと思っていたので互換回路を作ったりもしました。このあとすぐに在庫が復活しましたが、PCBA のやり方を覚えることが出来、回路的にも一応動くものが作れたので自分の技術の幅は広がりました。
のぎけす屋さんの静電容量スイッチスキャン用モジュールが再販されないことを想定して作ったモジュールが届いた。初めて PCBA で発注したけどパッと見いい感じ。ピンヘッダー買い忘れていたので動作確認は後日 pic.twitter.com/ByocSV38nP
— goropikari (@goropikari_) November 20, 2022
完成
そんなこんなで晴れて静電容量式キーボードが出来上がりました!(右手用基板の TRRS ジャックの向きは間違えた)。 色が白いのは HHKB 雪モデルに影響された結果です。promicro の存在が浮いていますが promicro カバーを白色で作れば良いかなぁと思っています。
自作静電容量無接点方式分割キーボード完成!!!#自作キーボード pic.twitter.com/jZ5JK6XiH6
— goropikari (@goropikari_) November 22, 2022
今後
とりあえず TRRS ジャックの向き間違えた右手用基板は修正しようと思います。 需要があるなら今回作ったキーボードのキット化して販売することも考えるかも? 36キー/格子配列/静電容量式の組み合わせはニッチ過ぎるのでおそらく売れないと思いますが。
静電容量式キーボードを作るという目標は達成して静電容量式キーボード作りたい欲は落ちついたので、次作るキーボードは気をはらずに作れるメカニカルで作ると思います。今作りたいものとしてはマイコンを基板の裏に隠してついでに親指キーを片手2キーにして全体34キーのキーボードを作ろうと思っています。ちっちゃくて可愛いキーボードになる予感。
keyball39 を静電容量式化することも考えていましたが、L字コンスルーが手に入らないので今の所保留です。コンスルーを手に入れるか、ヨーキースさんがトラックボール読み取り基板を再販されたらまた考えます。
とりあえず両手分の gerber ファイルを kicad のファイルに直したのでだいぶ扱いやすくなった。
— goropikari (@goropikari_) November 12, 2022
keyball39 を静電容量式化するのは流石に大変だと思うけど、全キー choc にするとかなら簡単にできそう。 pic.twitter.com/4usG9IDR9n
追記 2022/12/8 間抜けに飛び出ていた右の TRRS ジャック直った
右手の TRRS ジャックも直って真の姿のなった pic.twitter.com/Axgvj36Avk
— goropikari (@goropikari_) December 8, 2022
追記 2023/7/1 キット化し販売を開始しました