こんにちはこんばんは、寝て起きたらもう年末になってしまい一年が早く感じてしまっている、きりぽんです。今回は自作キーボードの基板とケースを約2ヶ月で設計して作ってみたので簡単に記事にしてみたいと思います。結論から言うと知識がないところからはじめたので難儀するところは多々ありましたが、自分が思ったようなキーボードができるのはめちゃくちゃ楽しかったです。
きりぽん
設計自体が完全に初めてなのでどんな部分に躓いたのかといったところもお伝えできたらと思ってます。
YOUTUBE動画
YOUTUBE CHECK NOW!
配列になれなくて下手くそですがタイピングも撮影してみました。モチベーション維持にもつながるのでよかったら見てやってください。
自作キーボードの基板設計
![Keyboard Layout Editor](https://kiritanlab.com/wp-content/uploads/lowin44_00002.png)
ErgoDoxのプリセットから理想の配列を作ってく
まずはKeyboard Layout Editorでレイアウトから決めました。カラムスタッガードの分割キーボードを使ってみたかったのでErgoDoxのプリセットから使わなそうなキーを削っていきます。![Keyboard Layout Editorで配列を決めた](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
44キーのレイアウトにしてみた
ざっくりですが、こんな感じのレイアウトにしてみました。![kicadで回路図を作成](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
kicadで左手と右手の回路図をそれぞれ作成
次にkicadでMCUやスイッチなどその他のパーツを配置した回路図を作りました。回路図を作ってエレクトリカルルールチェッカー(ERC)を行い、問題なさそうだったら、フットプリントを割り当てます。![PCBエディターで配線をした](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
PCBエディターでフットプリントを配置して配線
次にPCBエディタでフットプリントを並べて配線をしていきます。自動で配線できるツールもありますが勉強のため手動でやりました。![3Dビューワでチェック](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
3Dビューワで基板の完成イメージを想像
デザインルールチェッカーをして配線など問題なさそうだったら3Dビューワを眺めてお酒を呑みながら妄想します。
きりぽん
PCBエディタでのスイッチはKLEのデータからフットプリントの自動配置ができる「Keyboard Layouter」というプラグインを使えばよかったかもです。
3Dプリントケースの設計
![fusion360で自作キーボードのケースを設計](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
fusion360でケースを設計
最後にfusion360でケースを作ってみました。本来なら基盤のサイズを正確に入力してスケッチをして作ったほうが良さげでしたが、面倒になってしまいkicadで作ったトッププレートのstepファイルをインポートして作成しました。![ボトムケースの固定方法に悩む](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
固定方法はスナップフィットを採用
一番悩んだのがボトムケースの固定方法で、スリットを入れてナットとネジを使うか、マグネットか、スナップフィットか最後まで迷いました。悩んだ結果スナップフィットにしてみたのですが、実際にプリントしてみると引っ掛けるパーツが小さく薄すぎて強度が全く足りませんでした。
きりぽん
色々悩みましたが、納得するまでやると年が明けてしまいそうだったので、とりあえず物理的な部品の作成はちょこっと妥協してJLCPCBに発注しました。
ファームウェアの作成
![firmware](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
firmwareを手打ちで作成
ケースを発注して届くまでに少し時間が掛かるので、ここでファームウェアを作っておきました。ファームウェアに関してはKeyboard Layout Editorのjsonファイルから生成できる便利ツールがあるのですが上手に使いこなせなく手打ちで作りました。![エラーを修正しつつ無事にコンパイル](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
エラーを修正しつつ無事にコンパイル
作ったファームウェアのデータをコンパイルしてhexファイルを用意しておきます。画像では一発で生成されてますがちょこちょこエラーが出ては調べて修正したって感じです。JLCPCBから基板とケースが届いた
![JLCPCBから3Dプリントケースが届いた](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
JLCPCBから3Dプリントのケースが届いた
ここまで準備できて少ししたらケースが手元に届きました。今回はナチュラルホワイトではなくホワイトが良かったので8111X(rasin)で注文してみました。映像で伝わるか分かりませんが肉眼で見た感じだと切り餅みたいな感じです。そして色は完全な白ではなく少しくすんでました。![ボトムケースのスナップフィットは強度が心配](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
スナップフィットは強度が心配
ボトムケースのスナップフィット部分はやっぱりかなり薄くて、脆い感じになってしまいました。![基板は真空パックで届いた](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
基板は真空パックで届いた
PCBに関してはロータリーエンコーダーのプッシュに使う配線をつなぎ忘れてたところ以外は、問題なかったのですが、追加料金まで払ったトッププレートのエンコーダーを逆に配置してしまい、使い物にならなくなってしまいました。
きりぽん
これに関してはサンドイッチマウントも試してみたいと欲をかいて抜けてた私が悪いので勉強代ということにしておきます。
組立作業
![まったり組立作業やってく](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
まったり組立作業やってく
ちょっと前置きが長くなりましたが、ここから組立作業をしていきたいと思います。今回使用したパーツは以下にまとめます。上記のリンクには一部アフィリエイトを利用してます。
![ダイオードのリード線を折る](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
ダイオードのリード線を折る
まずはダイオードを基板3枚分サイズにリード線を折ります。
![ダイオードを基板に差し込む](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
ダイオードを基板に差し込む
次に所定の方向に合わせてスルーホールに差し込みます。フラックスを少し多めに塗ってはんだ付けしてみました。![ダイオードの実装完了](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
ダイオードの実装完了
取り急ぎ全部つけ終わりました。このタイプのダイオードってメカメカしくて好みです。![ホットスワップ用のソケットをはんだ付け](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
ホットスワップ用のソケットをはんだ付け
次はスイッチ用のホットスワップソケットを取り付けていきます。ソケットは前回と同じで予備ハンダをパッド全部してしまう方式で行きたいと思います。予備ハンダを全部したらあとは、スコッとハマるまでソケットの接点をハンダで熱します。![リセットスイッチのはんだ付け](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
リセットスイッチのはんだ付け
ソケットをつけ終わったらリセットスイッチを取り付けます。![TRRSジャックをはんだ付け](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
TRRSジャックをはんだ付け
続いてTRRSのジャックもはめ込んではんだ付けします。![ロータリーエンコーダーは11.5mmを採用](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
ロータリーエンコーダーは11.5mmを採用
ロータリーエンコーダーは試しに14mmと11.5mmを購入してみたのですが今回は短い方を使いたいと思います。![ロータリーエンコーダーのピンをはんだ付け](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
ロータリーエンコーダーをはんだ付け
取り付けは基板に指して裏のピンをペンチでかしめて、各所はんだ付けをしました。![自作キーボードの基板っぽくなってきた](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
自作キーボードの基板っぽくなってきた
だいぶ端折りましたが、ここまでの作業である程度形になってきました。![Pro Micro(タイプC)](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
Pro Micro(タイプC)
はんだ付け作業の最後にPro Microをピンヘッダーにはんだ付けします。![Pro Microの補強](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
Pro Microの補強
タイプCなのでコネクタ部分がもげるという事は少ないかもですが、念のため、スルーホールにはんだを流して補強しておくことにしました。![片手づつファームウェアを入れる](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
片手づつファームウェアを入れる
ファームウェアは片手づつそれぞれフラッシュして問題なさそうだったので、TRRSケーブルを繋いでピンセットを使い動作確認をしてみました。![ピンセットで導通確認](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
ピンセットで導通確認
一通りソケットをチェックして問題なさそうなので続けて組み立てます。![スタビライザーは油ましまし](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
スタビライザーは油ましまし
前回組んだときはスタビライザーにかなり薄くルブをしてカチャカチャうるさかったので、今回は気持ち多めに潤滑剤を塗布して取り付けてみます。![スイッチ用のクッションシール](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
スイッチ用のクッションシール
次に気休め程度ですがスイッチ用のクッションシールを貼ってみました。ダイオードの位置と干渉してしまい若干浮いてしまってるのが気になりますね。![キースイッチの取り付け](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
キースイッチの取り付け
スイッチはGateron Oil Kingと最下部のモディファイアキーにWS Morandiを使いました。![AKKO MDA BoW](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
AKKO MDA BoW
キーキャップはアリエクのセールにて4000円で購入したAKKOのMDAプロファイルのBoWにしてみた。遊舎工房で打鍵感が気に入ったカスタムキーボードに2回ともこれがついていたのが購入。![ロータリーエンコーダーのカバーを取り付け](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
ロータリーエンコーダーのカバーを取り付け
あとはロータリーエンコーダーのカバーを2つはめて完成です。![打鍵感は悪くない](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
打鍵感は悪くない
配列にまだ慣れて無くて下手くそタイピングですが悪くない打鍵感でした。自作キーボードを設計からしてみた感想
最後に少しまとめてみたいと思います。良かったところと微妙だったところを総括して動画を締めくくりたいと思います。
![ある程度満足のいくカタチにできた](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
ある程度満足のいくカタチにできた
まず良かったところですが、全くの初心者ですがある程度思った通りの形のキーボードが設計できてとても楽しかったです。
これに関しては先人の皆さんのおかげで感謝しかないです。![参考にさせていただいた書籍](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
参考にさせていただいた書籍
全く知識がないところからのスタートだったので、自作キーボードの設計に関わる同人誌を6冊購入して何回か読んでチャレンジしてみました。参考にさせていただいた書籍はリンクを記載しておきますので興味がありましたらチェックしてみてください。 参考
自作キーボード設計入門(電子版)Pastry Keyboard
参考
自作キーボード設計入門2(電子版)Pastry Keyboard
参考
自作キーボード設計ガイド Vol1 設計入門編自キ温泉街販売所
参考
自作キーボード設計ガイド Vol2 ケース設計編自キ温泉街販売所
参考
n年目の初心者による 縦100mm×横100mm以内の 自作キーボード設計入門mki0002ozlet
参考
【電子書籍版】3Dプリントで自作キーボードのケースをつくる本plus TK2S 購買部
参考
Fusion360操作ガイド ベーシック編三谷大暁 (著), 別所智広 (著), 坂元浩二 (著)
私みたいに知識ゼロからはじめるのでしたらn年目が分かりやすくておすすめです。
![ロータリーエンコーダーのプッシュスイッチの配線忘れ](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
プッシュスイッチの配線忘れ
次に微妙だったというか改善点です。まずPCBはロータリーエンコーダーのプッシュのピンをMCU側に繋がなかったというミスをしてしまいました。![ケースのコネクタ用の穴を修正する必要あり](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
ケースのコネクタ用の穴を修正する必要あり
次にケースのコネクタ周りとボトムケースの固定方法は再度検討し直す必要がありそうです。タイピング動画を取る時点で右手側の爪が折れてガタガタ干渉音がしてしまいました。外注に出す前に気軽に試作品を作れる3Dプリンター欲しいな~とか思ったり。そしてファームウェアの書き方が悪いのか右側のロータリーエンコーダーが反応しないのも修正する必要がありそうです。![VIAやVIALに対応させたい](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
VIAやVIALに対応させたい
また現状ではVIAにもVIALにも対応してないのでいずれさせたいと思ってます。またMCUはPro Microを使ってしまいましたが次に発注するときはRP2040に対応した基板にしたいと思います。(RP2040-ZEROはアリエクで買うと300円しないくらいと安いし性能いい)まだまだ改善する点はあるかもですが現時点での及第点は以上です。![自作キーボードの設計にかかった費用](data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%201080%22%3E%3C/svg%3E)
自作キーボードの設計にかかった費用
最後に今回のキーボードにかかった費用も参考までに記載しておきます。執筆から約半年後になりますが色々気になる部分が出てきたので基板とケースを再設計してアップデートしました。多少トラブルもありましたが、だいぶ使いやすくなったので良かったら記事を読んで見てください。
設計をアップデートした記事
参考
【自作キーボード】分割型キーボードを再設計してLEDをつけて塗装してみた【löwin】きりたんぽ研究室
きりぽん
至らないところが多々あったと思いますが、最後までご清聴いただきありがとうございました。では皆さんも良いお年を~
コメントを残す