11月25日発売 書籍『Arduinoと3Dプリンタでロボットを作ろう』を出させて頂きました!

【自作キーボード】オープンソースで公開されている自作キーボード『ChonkyKong』を組み立ててみました!

昨年から電子工作の延長として自作キーボードの設計や製作も始めました。
そもそも私が自作キーボードの世界に興味を持ったのは、CAD作業で使うコマンド(キーボードショートカットなど)に簡単にアクセス出来るマクロパッドやキーボードがあると効率が上がり便利そう・・・、そこが始まりだったような気がします。

昨年は自分で設計したものを中心に製作していましたが、オープンソースで公開されているものの中には素晴らしいものも多いことから、自分の用途で便利に使えそうなもので気に入ったものがあれば定期的に作ってみようかとも考えています。

【自作キーボード】これまで製作した自作キーボード&マクロパッドまとめ!【2024年】

そして今回はオープンソースで公開されている『ChonkyKong』という自作キーボードを組み立ててみました。
中央部分にテンキーを搭載した珍しいタイプ?のキーボードとなり、テンキー左右に配置されたキーをマクロ列として使えばCAD作業で便利に使えそうな私好みのキーボードです。

オープンソースの自作キーボードを製作する時はいつもCAD上で基板やケース・ビス1本に至るまで組み立ててみて実際に製作するか否か、また自分好みに修正等したりすることが多いのですが・・・
ChonkyKongの設計者であるweteor氏の設計は素晴らしく大変気に入りました!(手を加える余地が全く無く)

weteor氏といえば、Qazikatというこちらもオープンソースで公開されているキーボードの設計者の方なのでご存じの方も多いのかな?
Qazikatの方も現在製作している最中なんですが、ともに素晴らしいキーボードだと思います。

オープンソースで公開されている自作キーボード『ChonkyKong』を組み立ててみました!

ChonkyKong』はweteor氏設計のキーボードとなり、中央にテンキーが配置された15×4のオーソリニアレイアウトのキーボードとなります。

同氏のGitHubに基板(PCB)やケースデータ、ファームウェアなど必要なデータが全て公開されているので、基板を発注し自身でパーツを実装して組むことやBOM(パーツリスト)を使いPCBA(パーツ実装サービス)を利用して基板を製造することも出来ます。

参考 ChonkyKongGitHub
ChonkyKongの主な仕様
  • 15×4 オーソリニアレイアウト
  • オンボードRP2040搭載
  • MXホットスワップに対応
  • ケースデータ提供
  • QMK/Vialに対応
  • PCBAに対応
  • レイアウト変更可

下段および中央テンキー左右部分のレイアウト変更が可能となっています。

下段はPCBマウント用のスタビライザーを付けることができますが、提供されているケースデータでは対応していないようです。(後述します)

CADで組み立ててみる

私自身、自作キーボードの製作を始めたのがここ最近のため、オープンソースで公開されているものでも一度CAD上で全て組んでみることにしています。

CADで組んでみて気になる部分があれば微修正したり、自分の環境でさらに使いやすくなるように手を加えたりすることが多いのですが・・・
ChonkyKongは基板設計およびケース設計ともに素晴らしく、上手く考えられてるなぁーとこの段階で非常に勉強にもなりました。

Type-C端子まわりの設計はかなりお手本になりました。
上手く作り込まれています!
実際に製作して使ってみると、端子がスッと入ってくれ非常に使いやすいです。

そしてトップケースとボトムケースの固定はM2ビスを使いトップケース側にインサートナットを仕込むのですが、この部分も上手く寸法調整されています。

FDM方式の3Dプリンタで造形する場合はあまり問題になることはありませんが、レジン系マテリアルを使う場合は熱圧入には不向きなためこの部分の寸法は結構重要となり、オープンソースで公開されているものでは手直ししてから発注することが多くなる部分だと思います。

今回JLC3DPのスプレー塗装サービスを利用しレジンでケースを作ったのですが、M2サイズのOD3.5mmのインサートナットを使えばはんだゴテの熱で圧入することが出来ます。
ホールの高さは4.5mmとなっているので、M2×4mm(OD3.5mm)のインサートナットを使えば加工することなく圧入することが出来ました。

あとボトムケースのホットスワップソケットの切り抜きは、中央付近で0.8mmと薄壁になっています。

設計的には全く問題なくJLC3DPのベースとなる基準もクリア出来ていますが、スプレー塗装したものではこの部分の塗装が少しまだらになっていました。

背面なので目立たない部分ではありますが、もう少し壁厚を確保していればJLC3DPのスプレー塗装との相性も良かったのかな?と思ったりしています。(後述します)

あと気になった部分は、提供されているケースデータだとスタビライザーが使えないようです。
CAD上で確認した時点で干渉するのは分かっていたのですが・・・

下段部分はPCBマウント用の2Uスタビライザーを装着出来るのですが、提供されているケースデータを使う場合はトップケースに干渉するようですね。

CADで組んでみた時点で素晴らしいとなり、PCBの設計もPCBAを利用しない場合でもパーツ実装がしやすく配置されているなど非常に参考になりました。

何よりケース設計、そして全体的なデザインがカッコイイ!
もうこれは作ってみるしかないですよね・・・

JLCPCBに基板を発注(基板のみの場合)

GitHubからダウンロードした基板をJLCPCB、トップ・ボトムケースをJLC3DPに発注しました。
JLC3DPはJLCPCBの関連サービスなので、PCBAを利用せず基板のみを発注するのであれば同梱で発注&発送することが可能なので送料も1回分とお得です。

基板の発注を見ていきます。

自作キーボードの基板発注はPCBA(パーツ実装サービス)を利用される方が多いのかな?
ChonkyKongは、基板データ(ガーバーファイル)以外にBOM(部品表データ)やCPL(部品配置リスト)も公開されているのでそれを使いPCBAを利用することも出来ますが、私は電子工作的な楽しみも取り入れているので基板のみを発注しパーツの実装は自分で行いました。

ヒートガンやリフローによる実装環境がある方は、自分でパーツを用意して実装してしまえばかなりお安く製作することが出来ると思います。
自作キーボードで使われているパーツ構成は大抵どれも同じなので、基本パーツさえ一度用意してしまえばオープンソースで公開されているものなら毎回お高いPCBA料金を払う必要が無くてコスパはいいと思います。(自分でパーツ実装を楽しめる方ならオススメです!)

ダウンロードした基板データ(ガーバーファイル)をJLCPCBのサイトにドラッグ&ドロップしてアップロードします。

発注項目の選択は特記すべきところはありませんが、

[PCB上のマーク]の[マーク除去]は無料で出来るオプションとなり、余計なシルクプリントがされないため選択しておいた方がいいでしょう。
PCBカラーはお好みで!

基板製造料金は14.4ドルとなりました。

あと実装方法にもよりますが、ChonkyKongでは0402サイズのパーツがメインで使われているためおそらく手はんだでの実装はかなり難しく効率が悪いと思います。
PCBAを利用されない場合は、リフローやヒートガンを使って実装することを前提にステンシルも一緒に発注しておいた方がいいと思います。

ステンシルを一緒に発注する場合、[PCBと一緒に発注する]にチェックを入れます。
JLCPCBではステンシルを発注する際にサイズを指定しないとかなり大きなサイズで届いてしまいます。
基板サイズは約308mm×90mmとなっているので、320mm×110mmにサイズ指定を行い発注しました。(サイズ指定は無料です)

実装面は表面(トップ)になるので指定を間違わないように!

ステンシル料金7ドルがプラスされ基板製造料金のトータルは21.4ドルとなります。
配送方法にOCS Expressを選択すると、トータル約35ドルほどで製造することが出来ます。

JLCPCBへの基本的な基板発注方法やステンシルの発注に関しては、こちらの記事で詳しくまとめているのであわせて見て頂ければと思います。

【電子工作】はじめての基板製作!JLCPCBさんに基板を発注してみました。ユーザー登録・データ納品・基板到着までの一連の流れをご紹介!
【JLCPCB】初めてステンシルを使ったリフローを行ってみました。JLCPCBでステンシルを発注する手順などを紹介!
MEMO
私が今回発注した基板は、[表面仕上げ]に[ENIG]オプションを選択して発注しました。
金メッキされた綺麗なパッドで仕上がりますが、上記価格にオプション料金が加算されるため特にこだわりがなければ通常のHASLで発注しても特に問題ありません!

JLCPCBに基板を発注(PCBAを利用する場合)

PCBAサービスを利用してパーツを実装してもらう場合も簡単に見ておきます。

ChonkyKongのメインパーツの実装面は表面となり、ホットスワップソケットは反対の裏面の実装となります。
両面実装のPCBAとなるとかなり高額となるので、メインパーツのみのPCBAで見ていきます。

JLCPCBのPCBAの利用には[エコノミック]と[標準]があり、[エコノミック]では対応出来ないオプション(ENIG利用など)や実装出来ないパーツがあると[標準]扱いとなり料金はかなりお高くなってしまうので、こちらではエコノミックで発注出来る範囲でPCBAによる基板の発注を見ておきます。

上記と同じ方法で基板のガーバーファイルをJLCPCBのサイトにアップロードし発注項目を選択したあと、[PCB組み立て]を選択します。
パーツ実装面は表面なので[トップ面を組み立てる]、[PCBAタイプ]は[エコノミック]を選択し[次へ]進みます。

実装面の確認です。
トップ面の実装で問題ないので次へ進みます。

次にGitHubからダウンロードしたBOMファイル(chonky_BOM_20230316.csv)とCPLファイル(chonky_POSITION_20230316.csv)をドラッグ&ドロップしてアップロードし[BOMとCPLを処理する]へ進みます。

実装するパーツや関連付けが合っているかの確認です。
R3/R4のパッケージサイズが間違っているようです。

基板では0402サイズのフットプリントが使われていますが0603サイズが指定されているので、BOMデータのLCSCパーツの関連付けが間違っているようです。
R3/R4は0402サイズの27Ωの抵抗となります。

[27R 0402]と検索して適切な数値・サイズのものに変更します。

あとは問題ないようです。
全て部品タイプが[ベーシック]となっているのでエコノミック料金で発注出来そうです。(Extendedと表示されるものが含まれる場合、標準扱いとなります)

次にパーツの配置に問題ないか確認します。
パーツが反転していたり位置が合っていないことがよくありますが・・・

チップの向きが合っていない箇所があったので修正しておきます。

パーツを選択し右クリックで回転させる角度を選択し正しい向きになるように修正します。

これで問題無さそうです!

ちなみに、先程修正した抵抗のパッケージが0603のままだとこのようにパッドからはみ出てしまいます!
このままだとおそらく機械実装が出来ないので、エンジニアによるレビューに引っかかり修正依頼が来るかと思います。

レビュー後の確定した価格は確認していませんが、PCBAを利用する際の基板製造料金の概算は約52ドルとなるようです。
これに送料が加わるのでトータル約65ドルくらいになるかと思います。

JLC3DPにケースを発注

ケースはJLCPCBの3DプリントサービスとなるJLC3DPに発注しました。
基板のみの発注であれば3Dプリントパーツも同梱で発注することが出来るので送料も1回分で済ますことが出来ます。(PCBAを利用する場合は別発注になります)

3Dプリントデータ(STL)をJLC3DPのサイトにアップロードします。

今回製作したケースはスプレー塗装サービスを利用しました。
通常のマテリアル(材料)料金に数ドルプラスする程度で利用できます。

ベースとなるマテリアルに[LEDO 6060レジン]を選択、オプションとなる[スプレー塗装]を選択しお好みのカラーを選ぶだけです。
トップケースはマットブラック、ボトムケースはマットシルバーを指定して発注しました。

スプレー塗装サービスを利用した場合、トップケースは22.0ドルボトムケースは23.15ドルとなりました。

JLC3DPでは料金を支払う前にエンジニアによるレピューが行われるのですが、このような確認メールが届きました。

ChonkyKongのケースは横幅が約30cmと3DPパーツとしては結構大きなサイズとなるため、造形による反りや変形等発生するおそれがあるけどそれを承知で製造しますか?といった内容のものです。

「了承済みなので決済&製造に進んで下さい」という旨のメールを返信し製造してもらいました。

形状上、部品は変形や反りが発生するリスクが高くなります。
そのリスクが許容できるものかどうか確認していただけますか?

通常、長い部品、平らな部品、フレーム部品、内部に強力なリブのないエンクロージャ、および大きな空き領域部品の場合モデルは中央に向かって縮んだり、対角線や端に向かって歪んだりする潜在的なリスクに直面します。

JLC3DPの基本的な発注方法やスプレー塗装サービスの利用方法はこちらの記事で詳しくまとめているので、あわせて見て頂ければと思います。

【JLCPCB / JLC3DP】JLCPCBの3Dプリントサービス(JLC3DP)を利用してみました。発注手順などをご紹介!
【JLC3DP/JLCPCB】JLC3DPのスプレー塗装サービスを利用してみました!

基板 & ケースの到着

JLCPCBは中国にあるPCB製造メーカーとなります。
ちょうど発注のタイミングが春節期間(旧正月)を挟んだこともあり、今回基板とケースは別発注しました。

基板のみの発注であれば発注から8日ほど、3Dプリントケースと一緒に発注する場合は2週間ほどで手元に届くと思います。

毎回思うのですが、JLC3DPのスプレー塗装は他社と比べると安価で製造出来るのですが非常に綺麗な仕上がりです!

発注時に警告があった3Dプリントパーツの反りですが、トップケースの方に若干(1mm程度)反りが発生しているようです。
この程度ならビス固定すれば問題になることは全くありませんでした。

あと先述のようにボトムケースの壁厚が薄い部分は、スプレー塗装のムラが発生していました。
塗装時というよりベースの造形によるものだと思います。

外注なので造形の向きなどを指定することが出来ないので場合によっては出ないこともあるかもしれませんが、この部分の壁厚をもう少し確保しておけばベースがフラットに造形され塗装も均一に出来ていたのかな?と思ったりしています。

パーツの実装

それではパーツの実装です。
PCBAサービスを利用される方はこの項目は飛ばして下さい。

ChonkyKongではチップ抵抗やコンデンサは0402サイズのものがベースで使われています。
物理的にパーツのサイズが非常に小さいのである程度はんだ作業に慣れていないと難しくなり、普段自作キーボードの製作をされている方でもチップパーツのはんだ作業に不慣れであればPCBAサービスを利用するのがいいと思います。

私のように手作業でパーツ実装をされる方は、基板にリファレンスが入っていないので下図と後述するパーツリストを参考にして下さい。

ステンシルを使いはんだペーストを塗布します。
もう自作基板製作では慣れた作業ですが、基板サイズが大きいので大変です!

綺麗にはんだペーストを塗布することが出来ました。
このレベルで出来れば、RP2040もブリッジすることなく実装出来ると思います。

写真で見ると大きく見えますが、0402サイズのパーツは非常に小さいので毎回神経を使います!

パーツの実装はMHP50を使いました。
自作基板の製作でいつも愛用している非常に便利なミニリフロー装置です。

【電子工作 / PCB】ミニリフロー装置『Miniware MHP50』を使ってみる!加熱性能や安全設計はMHP30から全て引き継がれ使い勝手がさらに向上した便利なリフロー装置です

キーボードの基板は普段電子工作で製作する基板サイズよりかなり大きくなりMHP50のホットプレートサイズ(50mm×50mm)を超えてしまうので、このようなスタンドを使ってリフローしました。
MHP50のホットプレートサイズを超える大きな基板にも対応することが出来るので非常に便利です。

【電子工作 / PCB】Miniware MHP50で使えるスタンドの製作。大きな基板やいろんなリフロー方法に対応出来るので便利ですよ!

MCU周辺のメインパーツをMHP50を使い実装し、残りのダイオードはヒートガンを使い実装しました。
基板サイズが大きいのでこの使い分けは便利で、キーボード関係の基板では効率がいいと思います。

【電子工作】初めてのヒートガン(リワークステーション)を買ってみました!1台持っているとはんだ作業で大変重宝します!【RF4 RF-H2】

綺麗に実装出来ました。

0402サイズのパーツ実装は先日『Ortho 4×10 TKL』を組んだ時に初めてやってみたのですが、2回目となる今回はもう慣れたものでスムーズに作業を進めることができ動作確認も一発OKでした。

【自作キーボード】オープンソースで公開されている自作キーボード『Ortho 4×10 TKL』を組んでみました!

ホットスワップソケットの実装はボトム面になります。
PCBAを利用せず自身でパーツ実装を行う場合は、ソケットの取り付け前にこの時点でファームウェアを書き込み動作確認を行うのがいいと思います。
メインパーツの実装に問題がある状態で反対面にホットスワップソケットを取り付けてしまうと両面実装となり再リフローによる修正が出来なくなってしまうからです。

下段部分はレイアウトによりソケットを取り付ける位置が変わってくるので、使用するレイアウトに合うようにソケットを取り付けて基板は完成です!

ちなみに下記部分のパッドは[RESET]および[BOOTSEL]端子となり3×6mmのSMDタクトスイッチを取り付けることも出来ますが・・・
ケースと干渉してしまうので、実装せずにファームウェア書き込みの際はリード線やピンセットなどを使い短絡させるのがいいと思います。

ファームウェアの書き込み

パーツの実装が出来たらファームウェアの書き込みです。

GitHubからダウンロードした[firmware]フォルダ内にVial対応ファームウェア(chonkykong_vial.uf2)があるのでこれを書き込みます。

[RESET]および[BOOTSEL]スイッチはケースと干渉するため実装していないので、[BOOTSEL]パッドを短絡させた状態でUSBケーブルを差し込み通電するとDFUモードに入り接続したPCにUSBマスストレージとして認識 されます。

あとは上記Vialファームウェアをドラッグ&ドロップして書き込めば完了です。
通常の書き込み方法ですね!

ブラウザ版またはアプリ版Vialを開き、スイッチテストや動作テストを行い問題がなければケースの取り付けに進みます。

ケースの組み立て

今回JLC3DPで製造したものはレジンを使いスプレー塗装したケースとなります。

レジン系マテリアルではFDMフィラメントのように熱で樹脂を溶かすことが出来ないので本来は熱圧入には不向きとなりますが、OD3.5mmのインサートナットを使えばはんだゴテの熱で圧入出来るホールサイズになっています。(多少熱で柔らかくなり入ってくれます)

そしてインサートナットが入るホール部分の高さは4.5mmで設計されているので、4mm高のものを使いました。(5mmだとボトムケースが少し浮いてしまいます)

インサートナット専用のチップ(コテ先)があると便利です。(上写真のものはT12用です)
はんだゴテはFX600を使われている方が多いと思います。
FX600で使う時は下記のチップを使っています。

綺麗に圧入することが出来ました。
これまでJLC3DPのレジン系マテリアルでのインサートナット圧入のテストは何度も行っていますが、おそらくこれで抜けることはないと思いますが・・・
本来レジンでは熱圧入ではなく接着することが推奨されています!

5mm高くらいのインサートナットが使えれば抜けることはまずないと思いますが、3mmや4mmといった短いものを使う時は同時に接着もしておけば確実だと思います。
圧入後、隙間に流し込むタイプの瞬間接着剤をいつも使っています。

MEMO
上記写真は圧入後にナットの隙間に接着剤を流し込んでいます。
使用する接着剤の成分にもよるかと思いますが、スプレー塗装を溶かす場合もあるので気をつけて下さいね!

トップケース側にM2×4mm(OD3.5mm)のインサートナットを圧入し、M2×6mmビスを使いケースを固定することになります。(各8本使用)

キーキャップを付けて完成です!

分割キーボードで真ん中にテンキーパッドを配置して使っている方をたまに見かけますが・・・
今回センターにテンキーが配置されたキーボードを初めて使ってみましたが、これ使いやすいですね!

CAD作業用キーボードとしても凄くいいと思います。
というか、この設計者の方はかなりCADに精通されている方だと思うので、CAD用キーボードを想定して製作されているのかな?なんて思ったりもしました。

そしてJLC3DPで作ったケースの仕上がりも非常に良くて大満足です!
素晴らしい設計&デザインのキーボードなので、このクオリティーのケースを装着すると完成度がさらに大きくアップしたように感じます。

2Uブランクスペースバーが手元に無かったので即ポチりました。
結構テンション上がってます・・・。

使用パーツ一覧

今回使用したパーツの一覧です。
PCBAを利用される場合でも発注のタイミングによりパーツが不足していてそのパーツだけ自身で実装する必要が出てくる場合もあるかと思うので参考にして下さい!

パーツ定数入手先
コンデンサ
(0402)
C1/C2 27pF
C3/C4/C5/C8/C9/C10/C11/C14 100nF
C6/C7/C12/C13 1μF
AliExpress
ダイオード
(SOD-123)
D1-D60 1N4148W(SOD-123)AliExpress / 秋月電子
USB端子J2 Type-CAliExpress / 秋月電子
抵抗
(0402)
R1/R2/R5 1kΩ
R3/R4 27Ω
R6 10kΩ
R7/R8 5.1kΩ
AliExpress
MCUU1 RP2040AliExpress / 秋月電子
LDOU2 XC6206-3.3(SOT-23-3)AliExpress
フラッシュU3 W25Q128JVS(SOIC-8)AliExpress
ESDU4 USBLC6-2SC6(SOT-23-6)AliExpress
クリスタルY1 12MHz(3225)AliExpress / 秋月電子
タクトスイッチSW1/SW42 3mm×6mm(SMD)
※未実装
AliExpress
MXソケットSW2-SW40/SW42-72 計60
※レイアウトにより
AliExpress / 遊舎工房
ケース固定用インサートナット M2×4mm(OD3.5mm)
ビス M2×6mm
(各8本)
AliExpress

最後に!

CADで組んでみた時点で気に入り、実際に製作してみたのですが・・・
ChonkyKongさん素晴らしい設計のキーボードですね、大変気に入りました!

もともとQazikatというキーボードが気になり製作しようかと考えていた時に同設計者様のChonkyKongも気になったことから先に組んでみました。

Qazikatの方は既に基板は到着しており、パーツ実装とケースの到着を待っているのですが・・・
こちらも大いに期待しております。

自作キーボード製作っていいですね。
自分で設計しオリジナルのものを作ったり、オープンソースで公開されているものでは他の方の設計手法なども学べ、またパーツを実装したり組み立てたりと工作的な楽しみもあり・・・趣味としては楽しめる要素が満載です!

楽しい時間をありがとう、設計者の方に感謝です!

コメントを残す