こんにちはこんばんは、寝て起きたらもう年末になってしまい、一年が早く感じてしまっているきりぽんです。
今回は自作キーボードの基板とケースを約2ヶ月かけて設計・製作したので、その過程を簡単に記事にしてみたいと思います。
Keyboard Layout Editorで配列を決め、KiCadでPCB、Fusion 360でケースを設計。JLCPCBへの発注からファームウェア作成、はんだ付け、完成後に分かった失敗点まで一通り記録しています。
結論から言うと、知識がないところからのスタートだったため苦労する点は多々ありましたが、自分がある程度思い描いたようなキーボードを完成させられたことは、大きな達成感と喜びを感じる素晴らしい経験となりました。
きりぽん
löwin44の動画
YOUTUBE CHECK NOW!
配列にまだ慣れていなくて下手くそですが、タイピング動画も撮影してみました。モチベーション維持にもつながるので、よかったら見てやってください。
KiCadで自作キーボードの基板を設計

ErgoDoxのプリセットから理想の配列を作っていく
まずはKeyboard Layout Editorでレイアウトから決めました。カラムスタッガードの分割キーボードを使ってみたかったので、ErgoDoxのプリセットから使わなそうなキーを削っていきます。

44キーのレイアウトにしてみた
ざっくりですが、こんな感じのレイアウトにしてみました。

KiCadで左手と右手の回路図をそれぞれ作成
次にKiCadでMCUやスイッチなど、その他のパーツを配置した回路図を作りました。回路図を作ってエレクトリカルルールチェッカー(ERC)を行い、問題がなさそうだったらフットプリントを割り当てます。

PCBエディターでフットプリントを配置して配線
次にPCBエディターでフットプリントを並べて配線していきます。自動で配線できるツールもありますが、勉強のため手動でやりました。

3Dビューワーで基板の完成イメージを確認
デザインルールチェッカーをして配線などに問題がなさそうだったら、3Dビューワーを眺めてお酒を飲みながら完成形を妄想します。
きりぽん
Fusion 360で3Dプリントケースを設計

Fusion 360でケースを設計
最後にFusion 360でケースを作ってみました。本来なら基板のサイズを正確に入力してスケッチから作った方が良さそうでしたが、面倒になってしまいKiCadで作ったトッププレートのSTEPファイルをインポートして作成しました。

固定方法はスナップフィットを採用
一番悩んだのがボトムケースの固定方法で、トップケースの内側にスリットを入れてナットとネジで固定するか、上下をマグネットで固定するか、パチッとはめ込むスナップフィットにするか最後まで迷いました。
悩んだ結果スナップフィットにしてみたのですが、実際にプリントしてみると引っ掛けるパーツが小さく薄すぎて、強度が全く足りませんでした。
きりぽん
その後、別の自作キーボードでは3Dプリントでの試作を繰り返し、Corne用のCNCアルミケース「Cörnium」も設計・製作しました。JLCPCBへのCNC加工の発注から完成品の加工精度まで実測しています。
JLCPCB CNCの精度は?Corneアルミケースを自作して品質検証【Cörnium】きりたんぽ研究室
ファームウェアの作成

ファームウェアを手打ちで作成
ケースを発注して届くまでに時間が掛かるので、ここでファームウェアを作っておきました。
ファームウェアに関してはKeyboard Layout EditorのJSONファイルから生成できる便利なツールがあるのですが、うまく使いこなせず手打ちで作りました。

エラーを修正しつつ無事にコンパイル
作ったファームウェアをコンパイルしてHEXファイルを用意しておきます。画像では一発で生成されていますが、実際にはちょこちょこエラーが出て、その都度調べて修正したという感じです。
JLCPCBから基板とケースが届いた

JLCPCBから3Dプリントのケースが届いた
ここまで準備できて少ししたらケースが手元に届きました。今回はナチュラルホワイトではなくホワイトが良かったので、8111X(resin)で注文してみました。
映像で伝わるか分かりませんが、肉眼で見た感じだと切り餅みたいな質感です。そして色は完全な白ではなく、少しくすんでいました。

スナップフィットは強度が心配
ボトムケースのスナップフィット部分は、やっぱりかなり薄くて脆い感じになってしまいました。

基板は真空パックで届いた
PCBに関しては、ロータリーエンコーダーのプッシュに使う配線をつなぎ忘れていたところ以外は問題ありませんでした。
ただし、追加料金まで払ったトッププレートのエンコーダーを逆に配置してしまい、使い物にならなくなってしまいました。
きりぽん
自作したキーボードを組み立てる

まったり組み立て作業
ちょっと前置きが長くなりましたが、ここから組み立て作業をしていきたいと思います。今回使用したパーツは以下にまとめます。
| 基板 | JLCPCB |
|---|---|
| ケース | JLCPCB |
| キースイッチ | Gateron Oil King |
| キースイッチ | WS Morandi |
| キーキャップ | Akko MDA BoW |
| ソケット | Kailhホットスワップ用ソケット |
| ロータリーエンコーダー | EC12 360度ロータリーエンコーダー |
| ロータリーエンコーダーキャップ | アルミ合金ポテンショメータ |
| TRRSコネクタ | コネクタ,3.5mm,10個セット |
| マイコン | Pro Micro USB-C(互換品/青) |
| コンスルー | MAC8 コンスルー |
| フォーム | Durock クッションフォーム |
| スタビライザー | Gateron Screw in stabilizer V2 |
| 潤滑剤 | Krytox GPL205 G0 |
上記のリンクには一部アフィリエイトリンクを利用しています。

ダイオードのリード線を折る
まずはダイオードを基板3枚分、必要なサイズにリード線を折ります。

ダイオードを基板に差し込む
次に所定の方向に合わせてスルーホールへ差し込みます。フラックスを少し多めに塗って、はんだ付けしてみました。

ダイオードの実装完了
取り急ぎ全部付け終わりました。このタイプのダイオードってメカメカしくて好みです。

ホットスワップ用のソケットをはんだ付け
次はスイッチ用のホットスワップソケットを取り付けていきます。ソケットは前回と同じで、予備はんだをパッド全部にしてしまう方式でいきたいと思います。
予備はんだを全部したら、あとはスコッとはまるまでソケットの接点をはんだごてで熱します。

リセットスイッチをはんだ付け
ソケットを付け終わったらリセットスイッチを取り付けます。

TRRSジャックをはんだ付け
続いてTRRSジャックもはめ込んではんだ付けします。

ロータリーエンコーダーは11.5mmを採用
ロータリーエンコーダーは試しに14mmと11.5mmを購入してみたのですが、今回は短い方を使いたいと思います。

ロータリーエンコーダーをはんだ付け
取り付けは基板に挿して裏のピンをペンチでかしめ、各所をはんだ付けしました。

自作キーボードの基板っぽくなってきた
だいぶ端折りましたが、ここまでの作業である程度形になってきました。

Pro Micro(USB-C)
はんだ付け作業の最後にPro Microをピンヘッダーにはんだ付けします。

Pro Microの補強
USB-Cなのでコネクタ部分がもげるということは少ないかもしれませんが、念のためスルーホールにはんだを流して補強しておくことにしました。

片手ずつファームウェアを書き込む
ファームウェアは片手ずつそれぞれフラッシュして問題がなさそうだったので、TRRSケーブルをつないでピンセットを使い動作確認してみました。

ピンセットで動作確認
一通りソケットをチェックして問題がなさそうなので、続けて組み立てます。

スタビライザーは油ましまし
前回組んだときはスタビライザーへのルブがかなり薄く、カチャカチャとうるさかったので、今回は気持ち多めに潤滑剤を塗布して取り付けてみます。

スイッチ用のクッションシール
次に気休め程度ですが、スイッチ用のクッションシールを貼ってみました。ダイオードの位置と干渉してしまい、若干浮いているのが気になりますね。

キースイッチの取り付け
スイッチはGateron Oil Kingと、最下部のモディファイアキーにWS Morandiを使いました。

AKKO MDA BoW
キーキャップはAliExpressのセールにて4,000円で購入したAKKOのMDAプロファイルのBoWにしてみました。
遊舎工房で打鍵感が気に入ったカスタムキーボードに、2回ともこれが付いていたのが購入した理由です。

ロータリーエンコーダーのカバーを取り付け
あとはロータリーエンコーダーのカバーを2つはめて完成です。

打鍵感は悪くない
配列にはまだ慣れていなくて下手くそなタイピングですが、打鍵感は悪くありませんでした。
自作キーボードを設計からしてみた感想
最後に少しまとめてみたいと思います。良かったところと微妙だったところを振り返ります。

ある程度満足のいく形にできた
まず良かったところですが、全くの初心者でもある程度思った通りの形のキーボードを設計できて、とても楽しかったです。
これに関しては先人の皆さんのおかげで、感謝しかありません。
参考にさせていただいた書籍

参考にさせていただいた書籍
全く知識がないところからのスタートだったので、自作キーボードの設計に関わる書籍を6冊購入して、何回か読みながらチャレンジしてみました。
参考にさせていただいた書籍はリンクを記載しておきますので、興味がありましたらチェックしてみてください。
自作キーボード設計入門(電子版)Pastry Keyboard
自作キーボード設計入門2(電子版)Pastry Keyboard
自作キーボード設計ガイド Vol1 設計入門編自キ温泉街販売所
自作キーボード設計ガイド Vol2 ケース設計編自キ温泉街販売所
n年目の初心者による 縦100mm×横100mm以内の 自作キーボード設計入門mki0002ozlet
【電子書籍版】3Dプリントで自作キーボードのケースをつくる本plus TK2S 購買部
Fusion360操作ガイド ベーシック編三谷大暁 (著), 別所智広 (著), 坂元浩二 (著)
まずはどんな感じで自作キーボードを作るのか知りたいという場合は、ai03さんのKeyboard Designer Wikiを読んでみるのも良いかもしれません。
MCU直付けの基板設計方法となっていて、初心者には少しハードルが高かったですが丁寧に解説されています。
Keyboard Designer Wikiai03.me
課題と改善点

プッシュスイッチの配線忘れ
次に微妙だったというか、改善点です。まずPCBはロータリーエンコーダーのプッシュ用ピンをMCU側につながなかったというミスをしてしまいました。

ケースのコネクタ用の穴を修正する必要あり
次にケースのコネクタ周りとボトムケースの固定方法は、再度検討し直す必要がありそうです。
タイピング動画を撮る時点で右手側の爪が折れて、ガタガタと干渉音がしてしまいました。外注に出す前に気軽に試作品を作れる3Dプリンターが欲しいな~とか思ったり。
そしてファームウェアの書き方が悪いのか、右側のロータリーエンコーダーが反応しないのも修正する必要がありそうです。

VIAやVialに対応させたい
また現状ではVIAにもVialにも対応していないので、いずれ対応させたいと思っています。
MCUはPro Microを使いましたが、次に発注するときはRP2040に対応した基板にしたいと思います。当時はRP2040-ZEROがAliExpressで300円しないくらいと安く、性能も良さそうだったのが理由です。
まだまだ改善する点はあるかもしれませんが、現時点での及第点は以上です。

自作キーボードの設計にかかった費用
| 項目 | 金額 |
|---|---|
| PCB | 9,800円 |
| ケース | 6,375円 |
| Pro Micro | 1,800円 |
| ダイオード | 360円 |
| タクトスイッチ | 110円 |
| コンスルー | 500円 |
| ロータリーエンコーダー | 284円 |
| エンコーダーカバー | 733円 |
| TRRSコネクタ | 445円 |
| キースイッチ | 3,698円 |
| キーキャップ | 3,996円 |
| 合計 | 28,101円 |
最後に、今回のキーボードにかかった費用も参考までに記載しておきます。
執筆から約半年後になりますが、色々気になる部分が出てきたので基板とケースを再設計してアップデートしました。
多少トラブルもありましたが、だいぶ使いやすくなったので良かったら記事を読んでみてください。
プロトタイプのrev2を作ってみた

設計をアップデート
【自作キーボード】分割型キーボードを再設計してLEDをつけて塗装してみた【löwin】きりたんぽ研究室
きりぽん



