キーボードを基板から設計して作ってみた

静電容量式のキーボードをゆくゆくは自分で設計して作ってみたいなと思ったものの、初っ端静電容量式はハードルが高そう。ということでまずは PCB 注文の練習がてら情報の多いメカニカルキーボードの基板を作ってみました。

基板の色は5色くらいから選べたので、あまり見たことがない赤色の基板にしてみました。

この記事では私の場合の設計から組み立てまでの流れをまとめています。

配列の決定

3x6 格子配列 + 親指3キー(弧を描いて並ぶ)が一番打ちやすそうだと大体の配列の想像はついていましたが、何故それが良いと感じるのかの自己分析をまずはしました。 当時持っていた自作キーボードである corne chocolate, Manta40, Helix をそれぞれ叩き、普段自分がどのように打っているのかを調べてみました。 結果、どうやら私は小指を曲げて打つのが苦手なのだと気づきました。カラムスタッカードなキーボードの多くは小指でキーが打ちやすいように外側の列が下に下がっていることが多いですが、下げると一番上段のキーは確かに打ちやすくなる一方で下段のキーは小指を曲げねばならず逆に打ちづらさを感じました。格子配列にした場合、真ん中と下の段のキーは小指を伸ばしたまま指を開くか手首を軽く外側に曲げると打てるので小指の曲げ伸ばしがほぼなくストレスなく打てました。上段のキーは小指では打ちづらいですが、そもそも私は一番外側の上段のキーを薬指で打っているということに気づきました。 また親指で打つキーは、親指を開いたときに描く円弧上に配置するのが打ちやすいとわかりました。完全に行の高さが揃っている helix に比べて corne や manta40 のように弧を描いた配置のほうが自然に打つことができました。

これらの結果と設計のしやすさから corne を格子配列にしたようなキーボードを設計しました(親指キーの角度は corne と全く一緒)。

基板設計

foostan san の同人誌2冊と KiCad tutorial でまずはキーボード設計の基礎を学びました。

pskbd.booth.pm

pskbd.booth.pm

同人誌は発行されてからだいぶ経っていることもあって kicad の使い方がすでに変わっていたり qmk firmware の書き方も変わっていたりして本の通りにやれば設計できるという状態でもありませんでしたが、自分で修正して動かせるようにしたりしたおかげで色々と感覚はつかめました。

同人誌ではトッププレートとボトムプレートはアクリルで作るようになっていましたが、Helix をアクリルプレートで組んだときにネジ止めでちょっと力を入れたらプレートが簡単に割れてしまって以来、アクリルは脆いというイメージがついてしまったので今回は PCB と同じ FR4 で作りました。

ただ、トッププレートを FR4 で作る場合の例を見つけることができなくて最初は苦労しました。おそらく PCB と同じように作ればよいからわざわざ言う必要もないということなのでしょうが、私の場合は kicad にも慣れていなかったので、どうやってキースイッチ用の穴は表現できるのかわからず途方にくれていました。foostan san のライブラリを眺めていたら SW_HOLE というそれっぽいフットプリントがあって、3D preview したら望んだ通りに穴が空いていて事なきを得ました。

費用を浮かせるために PCB はリバーシブルで作成しました。上記の同人誌で作る 2x2 キーマトリックスの petit split ですらリバーシブルの配線は大変と感じていたので片手 21 キーの配線は無理だと思っていましたが途中で freerouting という自動的に配線してくれるソフトを知って楽ができました。

この頃はまだ自力で firmware をどうやって作るのかちゃんと理解してなかったので pro micro のピンの使い方やキーマトリックスは完全に corne と同じにしました。

基板発注

正直どこに基板発注するのが良いのかわかっていませんでしたが、送料が安いものを選べる JLCPCB に発注しました。 gerber ファイルをアップロードして簡易 preview でみるとどうにもトッププレートのキースイッチ用の穴が空いていないように見えましたが、kicad の 3D preview では大丈夫だったのだからいけるだろうと考えそのままスルーしました。

注文してからアップロードする gerber ファイルを間違えていることに気づいたり、トッププレートの加工には追加費用が掛かるよという連絡が届いたりしてちょこちょこサポートと連絡しましたが簡単な英語の返答でどうにかなりました。ちなみにトッププレートは7ドル(1000円くらい)を追加で請求されました。

配送は OCS Express に選択し注文してから大体1週間くらいで届きました。

組み立て

今回作ったものは LED を使わない極めてシンプルな構造にしたので特に躓くこともなくあっさりと完成しました。 注文した基板の数からは2つ分キーボードが作れたので、基板余らせてもしょうがないので2つ作りました。また片方は人力で pro micro のピンをジャンパして USB ケーブルを左右どちらの指しても正しく動くようにしました。 (基板を設計しているときは SPLIT_HAND_PIN を知らなかったのでジャンパがやりやすいようにしていなかった。)

github.com

おわりに

基板の設計・発注の仕方を覚えて自作キーボードの幅が広がったのでこれからも自分の理想を体現するキーボードを模索していきたいと思います。