自作キーボード製作記 ~基板設計編~
フルキーボード(テンキーまであるやつ)を自作するためにまず基板の設計から始める。今回はJLCPCBに注文する。
設計にはKiCADを使用するのでまずはフットプリントを入手する。
前回の準備編で決定したキースイッチに対応するフットプリントを検索すると
githubなどでフットプリントライブラリが見つかったりする。
今回のキーボードに使用するのはCherry MXという有名なキースイッチに互換性のある
Kailhのspeedというキースイッチの青軸のものを使うことにした。
ただ、なんとなく察せるのがそのシンボルとフットプリントの配置の手間。
フルキーボードつまり104キーを一つずつ並べていくのが面倒なのは容易に想像がつく。
ここで少し検索してみるとKeyboard layout editorという、KiCAD上で任意のキーボード配置にフットプリントを並べてくれるツールを発見。
回路図の方はコピペで何とかなるがキーのレイアウトはQWERTY配列通り並べるのは大変なのでこのツールを使う。
ここら辺のことは以下の記事を参考にさせていただきました
まずはKeyboard layout editeorで任意のキー配置を作る。
www.keyboard-layout-editor.com
キー配置を仕終えたら右上の[↓Download]のボタンのメニューから「Download JSON」をクリックしてJSONファイルをダウンロードする
次にKicadでプロジェクトを作成し、.schファイルを作成する。
フルキーボードは縦に6行、横に20列(倍マトリックスなので信号は10列)
で回路を構成した。(画像は一部)
Keyboard layout editor をダウンロードするとその中に.kicad_pcbファイルとフットプリントライブラリも存在するのでそのフットプリントとキースイッチの関連付けを行う。
また、今回はメインのキースイッチとpromicroの回路とLEDの回路を分けて作成した。
使用したLEDはWS2812Bというマイコン搭載のRGBLEDを使用した。
このLEDはデジタル信号のIN,OUTのピンがあり、この信号線を数珠繋ぎに接続してRGBの信号を伝達する。
なので信号線は直列につなぎ、最後のDOUTは未接続とした。
こちらのフットプリントはすべてWS2812Bで紐づけるが、ここでこのWS2812Bのフットプリントに修正を加えた。というのもキーボードを構成するPCBが二枚で
・キースイッチ+ダイオード
・LED
というように分かれていれば二枚目のPCBにWS2812Bをそのまま表向きに表面実装すればよいのだが、今回はPCBを一枚で構成するのでPCBにLEDがはまるよう穴を用意し、LEDをはんだ付けしてからその上にキースイッチが配置されるようにする。
つまり、LEDのフットプリントは普通の表面にパッド4つではなく、穴の両側にパッドが来るようにしたうえでそのパッドが裏面に配置されるようレイヤーを選択する。
キースイッチのメインの回路とLEDの回路の構成とフットプリントとの関連付けが終了したら例のごとくネットリストを作成する。
PCBレイアウトエディターを開き、二つのネットリストをロードする。
上部リボンの[ツール]→[外部プラグイン]→[Keyboard Layouter]をクリックし
Keyboard layout editor でダウンロードしたJSONファイルをロードする。
Diodeにチェックを入れるとダイオードもキースイッチとオフセット分離れて配置される。
ただしLED,promicro,RSTスイッチは手作業。一つずつ並べていこう。キースイッチ中央に穴があるがその上部にLEDを配置するとキーボード表面まで光が届きやすい。
長方形キースイッチ用のスタビライザーのフットプリントも忘れずに。
CAUTION!!
[この上の図のpromicroの位置ではmicro USB端子のつまみが基板に干渉します!もう少し外側に配置することをお勧めします。]
最後にボルトでPCBを固定することを念頭に入れて四隅意外にも円形のカットを入れる。
さあ、ここまでくるとあとは怒涛の 配線作業。
F.Cuはrow方向(横方向)・B.Cuはcol方向(縦方向)というように縦横の配線の方向を層で分けると無駄にビアを打たなくて済む。4層基板とかにすればもう少し楽になると思うが加工費が跳ね上がるので今回も2層基板。
(最後に3D viewなどで確認することをお勧めします。)
ネットの分をすべて配線し終えたらガーバーファイルを出力して業者に注文。
今回注文したJLCPCBは大体最低発注数の5枚で$45。(大きさは大体 440x140mm)
最後に
今回の基板データはご要望次第で公開いたします。製作は自己責任でお願いいたしますが、ご希望の方はコメントにてその旨お伝えいただけると幸いです。