⌨️

初心者が自作キーボードを設計・作成するために辿った手順。

2022/02/02に公開

概要

キーボードを制作するのにまだ見栄えはアレだけど色々アイデアを突っ込める状態になったので、知見を残すもの。

できたものがこちらになります

最初は「えっ自分で回路作って発注までして電子工作すんの無理ゲー」と思ってたけど、やってみると割とできるものだった。
先人の知恵をフル活用するというアプローチを採用してるので感謝いっぱい。

ということで自分も初心者の状態で作ってみたログを積極的に書いていこうかと。
(詳細は後日記載予定)

キーボード作成するのに辿った手順(最小構成を想定)

もちろん試行錯誤はあるため総括できるわけではないけど、
こんな作業があればストレスなく形作れる、という手順を記載する。

  • 試作
  • キーボードレイアウト決定
  • 回路図の作成
  • 回路レイアウトの作成
  • 配線
  • プレート作成
  • 基板発注
  • その他必要なリソースの発注
  • 動作確認
  • 組み立て
  • キーマップの作成

試作

https://github.com/e3w2q/su120-keyboard
手配線で動くものを作ってみる。
これによってレイアウト的に無理がないか等を確認可能。

いきなりレイアウト作成するのも可能だけど、最初に動くもの作ってテンション上げるのも重要。

キーボードレイアウト作成

http://www.keyboard-layout-editor.com/
http://builder.swillkb.com/

ここでレイアウト作成してからDXFファイルを作成する。
どちらかというと試作したものを清書する意味合い。

回路図の作成

KiCADで作成。
とりあえずキーマトリクスとマイコン配置図、あとダイオード配置する場所があれば問題はないかなあと。

回路レイアウトの作成

https://github.com/yskoht/keyboard-layouter
このプラグイン使うと回路図作成する手間も割と省けるんだけど、
別に無理して使わなくても手作業でもそれほど時間は変わらないかも。
実際部品の割当でミスったりして手作業で回路図作るところからスタートした。

回路図を作成した後にDXFファイルをインポートして、それに合わせるようにスイッチを配置していけばOK。

配線

自分で手作業してもいいけど、Freeroutingを使うと割と簡単。
https://github.com/freerouting/freerouting

もちろんなかなか出来ないときもあるけど、そういう時は手調整も可能。
最後はKiCADにエクスポートしてから調整も可能なので積極的に使うのが間違いないかなあと。
(きれいな配線を求める場合は手で書いたほうが良いかも)

プレート作成

作成したキーボードレイアウトからプレートを作成できる。
KiCADにインポートするか、作成した回路レイアウトから作るかどちらかが簡単。

ただネジ穴の追加が必要だったりする場合は注意。
別ファイルで保存しとかないと回路レイアウトを上書きしてしまうので。

基板発注

基板とプレートを発注する。
正確に言うとプレートもPCBとして発注する(電子部品が乗らない基板として作る)
自分はJLCPCBをよく使ってる。

プレートにGNDを追加する場合、穴開け場所が多いと追加料金が発生するみたいなので注意。
とはいうものの自分が作った範囲だと15ドル程度なので、それほどの出費ではない。

その他必要なリソースの発注

  • キースイッチ
  • キーキャップ
  • ネジ
  • スペーサー
  • スタビライザ
  • マイコンボード

ネジとスペーサーは結構使うのでストックしておくのがいいかも。

動作確認

組み立ての中で導通だけ確認するのが早い。

組み立て

はんだ付けが必要だったりする。

キーマップの割当

QMK firmwareやPRK firmwareを使う場合はどのキーでどの文字が入力されるかを定義する必要がある。

参考資料

https://zenn.dev/0x0c/articles/4e4e428d79287d4556b2
https://booth.pm/ja/items/1044084
https://booth.pm/ja/items/1315935

最後に

この文章はABQで書いてます。(ABQのキーマップテストも兼ねる)

Discussion