JLCPCBで作る!オープンソースで始めるカスタムキーボード

こんにちは!c1trusです。
今回はいつものレビューとは少し違った形で、「オープンソースデータを利用してカスタムキーボードを作ってみよう!」といったテーマになっています。
JLCPCB様にご協力いただき、ケースやPCB・ドーターボード等を作成しながら、カスタムキーボードを作成して行く流れをご紹介させて頂きます。

発注方法はブログ形式、後半の組み立てやサウンドテストは動画方式となっています!
パーツだけ発注するような場合にも使えるので、ぜひ参考に…!
今回作成・準備するもの
今回必要なもの一覧
まず今回カスタムキーボードを作成するにあたって必要なモノは以下になります。
そのうち今回JLCPCBで作成するの以下。
その他のモノは遊舎工房さんや電子部品専門店などで販売されているので、後ほど紹介します。

本来はプレートも作成する必要がありますが、手持ちのものがあったため今回は作成していません。手順は後述のCNCでケースを作成する手順と同じになります!
作成するキーボードケース

今回はオープンソースのケースと言えば!という代表の、
Bakeneko60を作成していきます。
GitHubにてケース作成に必要なデータが全て公開されている、
O-ringマウント採用のシンプルなキーボードケースになります。
後ほどGitHubから必要なデータをDLしてJLCPCBにて作成します。
作成するPCB

waffling60というBakeneko互換のGH60に適合したオープンソースのPCBになります。


MXだけでなくALPSなどもありますし、
配列・ソルダー・ホットスワップなど多岐に渡ってデータが用意されています。
後ほどGitHubから必要なデータをDLしてJLCPCBにて作成します。

今回ははじめての人でも安心なMX Hotswap ANSIを作成していきます!
作成するドーターボード

こちらもオープンソースで有名かつBakeneko等多くのケースで使用できる、
Unified-Daughterboardを作成します。
バリエーションが複数ありますが、UDB-C-JSHを利用し、
JSTケーブルでPCBとドーターボードを接続する方式のものを選択。
後ほどGitHubから必要なデータをDLしてJLCPCBにて作成します。

一応ケーブルとドーターボード付きで遊舎工房さんとかで販売されていたりもします。
1個だけ欲しい、予備は要らないとか言う場合はこちらで買うのも手。
プレートを作成する場合
PCBとケースに適合したプレートファイルが公開されているので、
そちらを探しておきましょう。
今回は手持ちのForged Crabon Plateを使用。

今回は作成しませんがBaknekoの場合は上述のGitHubにデータがあります。
HEと併用できるようにVenomのPlateファイルを作っておくと、
どちらでも利用できるというライフハックもあります。
その他今回必要なもの
JST Cable

今回はGeonで販売されているものを使用しました。
JST-JSTのケーブルで長さが150mm程度あればどこで買っても問題はありません。
アリエクとか秋月電子さんとかでも売ってますね!
ケース用ゴム足

3M しっかりつくクッションゴムがオススメ。
デスクに響きやすい足のケースも見た目は悪くなるが貼れば改善したりします。
M2 x 4ネジ

今回ネジ止めが必要なのはドーターボードとケースの装着時のみ。
M2x4ネジが必要になるので、遊舎工房さんや工具屋などで購入しておきましょう。

僕はキーボード用品とまとめて遊舎工房さんで買うことが多いです!
O-ring

カスタムキーボード系のベンダーに売ってたりします。
今回はKEZEWAのO-ring 45Aを使用。PCBSnapで代用でも問題ない。
キーキャップ・キースイッチ・スタビライザー
これは本当に好きなものを選んでいただければ問題ないです!

スタビライザーのみO-ringマウントのため、クリップインもしくはConsi Stabilizerを推奨します。PCBSnapであればKnight StabilizerやGDK02などでも組み立てれなくはないです。
フォーム
必要な場合のみ、配列に合わせたものを購入しましょう。
Venomのフォームが手頃で使いやすいかも?
今回は使用しません。フォーム好きじゃないので。

ノーフォームがカスタムの醍醐味なので、一回試してみて欲しいところ!
JLCPCBでの作成手順

まずはじめに!
細かい電子部品の配置や部品の変更が必要になる場合がありますが、ChatGPTにスクショ等投げて代替案を考えてもらうのが本当に楽です。
各種問題ないかのチェックまでしてくれて、実際に問題なく動作しているので、
迷わず使用して行きましょう。
PCBの作成
JLCPCBを選択します。
今回はMXのHostswapを作成するので、必要なファイルはこちらからDLできます。

ご自身の作成したいものから選択してくださいね!
以下3ファイルがあれば問題ありません。
- Bill of Materials
- Gerber
- Pick.Place.for.waffling60

Gerber.zipをアップロードします。

アップロードが完了するとPCBの基盤図が表示されます。

基本的に触る必要があるとこは少ないです。
PCBの厚さは一般的には1.2mm or 1.6mmを使用するように、
キーボードの部品は作成されていますので、どちらかを選択します。
あとは色を選ぶ事ができるので、
プレートレスで基盤の色がみえるとか、透明ケースで色を見せたいとか要望に合わせて選びましょう。

基本的には意図がないのであれば、1.6mmを推奨します。

数量は5からしか作成することができません。
ここがMOQになっているので、予備用に作ると割り切るか知人と分けるなどが必要ですね。

PCBの組み立てはONにしておきましょう。
今回はトップ面と書かれている方を組み立てることになります。


ONにしない場合、PCBの細かい電子部品全てを自分ではんだ付けすることになりますw結構ダルいと思うので基本的にはONで。
次に進むと、BOMとCPLをアップロードする画面になります。

- Bill of Materials
- Pick.Place.for.waffling60
の2点をアップロードすれば良いです。

なんですが…そのままいくとエラーが出ます。


BOMに対してCPLの内容が多すぎるよってエラーなので、CPLからBOMにない不要なものを削除すれば良いのですが、めんどくさいのでAIに投げましょう!
そしたら綺麗に削除したファイルを吐き出してくれますw
正しくアップロードされると、以下のような部品表の画面が出てきます。

今回の場合は以下のように、
部品が足りてないところや標準PCBAというモデルでしか対応しないよ!っていう
警告のようなものが出てきました。


正直ダイオードとかの型番言われてもなんも分からんし、代替品も分からないので、これもChatGPTに相談したら、代替品のリストを出してくれます!
あとは検索ボタンから代替品の型番を調べて入れ替えるだけ!

入れ替えるとこんな感じで部品不足の警告は消えます。
一応コレで問題ないかもスクショをAIに投げておくとチェックしてくれます。

USB-Cポートが必要な場合はこのままでも良いのですが、JSTを使用してBakenokoを使用する場合はUSB-Cポートが不要なので、CON301のチェックを外しておきましょう!
逆にGH60のケースで使用する場合はそのままで!


標準のみと書かれているところは、裏面のLEDつまりアンダーグロウのRGBを担当するパーツなので必要なければそのままで!
必要な場合はクリックすると標準PCBAに切り替えられるので、変更すればLEDも配置されるようになります。ただし値段は上がります。
次はコンポーネントの配置なのですが、ここも正直初心者にはさっぱり分からないです。
電子回路勉強してても正解かわかんねーです。

なのでAIにスクショを投げましょう!
ここをアップにして欲しいとか、ここを確認させてほしいとか色々言ってくれるので、指示通りに確認していきましょう。そしたら部品の配置や向きなども特に問題は出ませんでした。

ここまで来たらあとはカートに入れるところです。
5枚の代金が表示されています。

商品説明のところは以下を選んどけば問題ないです。

ドーターボードの作成
これはPCBと手順は同じです。
必要なファイルはこれなので、DLして全く同じ手順を行ってください!
ケースの作成(必要な場合はプレートの作成も)
JLCCNCを選択します。
必要なファイルはここから、DLしておきましょう。
(プラスチック系で作る場合はこっちっぽい)
Upload 3D ModelsのところにStepファイルをアップロードすると、
以下のように読み込まれる。

詳細な編集画面は以下で、ここで素材や仕上げ、細かい申し送りなどができる。


アルミニウム・プラスチック系(PCとかABS)の他にスチールやカッパーなどもあります。
今回はAluminum 6061を使用し、Bead blasting + Anodizing の Matt 仕上げを選択しました。
仕上げの内容は説明が書いてあるので、お好みのものを選択しましょう!

重要なのはThreadsのところで、ここで穴あけの指定などを行います。

YESを選択するとファイルを上げる画面になります。
ドーターボード用の穴とかを指定するのですが、先ほどDLしたファイルをアップロードしておきます。

Product Descのところは今回はAluminum Alloy Baseを選択しておけば大体問題ないです。

プレートとかであれば自動で見積もりが出るのですが、
ケースとかになるとマニュアル見積もりになることが多いです。
1日以内には見積もりが出ることが多いので、Request a Quoteしておきましょう!

プレートの場合は作成するプレートのstepファイル等をアップロードして、同様の手順で作成することが可能です。
作成はここまで!
作成して届いたもの
Hotswap PCB

ドーターボード

ケース


ビルドとサウンドテスト

Youtubeにて作成したものを利用して、ビルドとサウンドテストを行っています!
ぜひご覧ください!!
使用前に
JLCPCBから届いたPCBはそのままではVIAでキーマップ変更したり、入力できる状態ではないので、
QMK ToolboxからFirmwareを焼いてあげる必要があります。
以下からFirmwareがDLできると思います。
https://4pplet.com/pages/product-info-guides

QMK Toolboxを起動して、PCB背面のリセットをピンセットなのでショートさせるとDFUモードという書き込める状態になるので、DLしたファームを書き込みましょう!
そうするとVIAにてキーマップ変更や、入力できる状態になります!
JLCPCB利用の良かった点・気になる点

やはりPCBは作成も早く、価格も1枚あたりを考えれば非常に個人でも安価に作れるのはメリット。MXでなくともHE60などオープンソースの磁気キーボードを作るのも面白いと思いますし、オトクな利用シーンは結構あると思います。
反面CNCはちょっと高めですね。大量生産するわけではないので仕方がないですが、使い所は考えないと何でもかんでもは出来ないなという印象。届く物自体は良いと思います。
Bakenekoを利用したケースの良かった点・気になるところ
さいごに

今回はオープンソースを使って1から発注して、カスタムキーボードを作成してみました!


