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

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

先日、Disorder30というオープンソースで公開されている少し変わった?ミニサイズのキーボードを組んでみました。

キー数が少ないので常用キーボードとしてではなく、CAD用のマクロパッド的な使い方で私は愛用しています。
CAD作業で便利に使えることから非常に気に入ったキーボードの一つとなりました。

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

そしてDisorder30を組む前に同様なコンセプトで使えそうなミニキーボードとしてもう一つ気になっていた『Ortho 4×10 TKL』という、こちらもオープンソースで公開されているものがあったので今回組んでみました。

オープンソースで公開されている自作キーボード『Ortho 4×10 TKL』の製作

Ortho 4×10 TKL v0.1』はmadebyrobq氏設計のキーボードとなり、TKL(テンキーレス)キーボードの物理レイアウトを模した30-40%のミニサイズのキーボードとなります。

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

またケースデータは、iPad Mini(第6世代)をマウント出来る形状のものを含め3パターン用意されています。(CNC/3Dプリントデータ)

参考 Ortho 4×10TKLGitHub

Ortho 4×10 TKLの主な仕様
  • 36~40キー、テンキーレス4×10レイアウト
  • MXホットスワップに対応
  • MCUにRP2040を使用
  • PCBAに対応
  • QMK/Vialファームウェアに対応

レイアウトはスペースバー部分を3Uまたは1U×3にレイアウト変更出来るようになっています。(現在v0.1ではスタビライザーには非対応)

またアローキー左右の1Uキー(赤枠部分)を利用することも出来ますが、現在公開されているバージョンのものはこの2つのキーに対応したケースデータは公開されていないようです。

ケース & スイッチプレートを修正

いきなりですが、公開されているものからケースとスイッチプレートのデータを修正させて頂いたものを使い今回製作しました。
オリジナルデータを使って製作される方はこの項目は飛ばして下さい!

3Dプリント製ケースとPCB製スイッチプレートを組み合わせて使うことを前提に、大きく以下ポイントを修正させて頂きました。

オリジナルからの修正点
  1. スイッチプレートがケース内に収まるように変更
  2. ケースのビス固定部分はインサートナットに変更

①スイッチプレートがケース内に収まるように変更

Ortho 4×10 TKLは3パターンのケースデータが用意されています。
iPad Miniをマウントするための切込みが入ったタイプのものやノーマルタイプのものなどそれぞれCNC用と3Dプリント用のデータが用意されているのですが、CADで全て組んでみて個人的に気になった部分に手を加えさせて頂きました。

まず私はiPadで使うことは想定していませんが、ケース形状的に切り込みが入ったタイプのものはカッコよくiPadで使わなくても持ち手としていいかな?
と思ったのですが、CADで確認してみると完全な貫通穴ではなく間に挟んだキープレートで仕切られる構造となっています。

これだとiPadで使わないのであれば必要ないので、切込みが入っていないタイプのケースデータをベースに修正を行っていきました。

Ortho 4×10 TKLの基本的な組み方は、トップケースとボトムケースの間にスイッチプレートを挟み込みそこにメイン基板を固定する構成となっています。

そしてスイッチプレートはケース内に収納するのではなく、同サイズで作られたトップとボトムケースに挟み込むという取り付け方法となるため、組み立て後横から見るとこのようにスイッチプレート側面が見えるということになります。

おそらく設計者様はCNCで製作することを前提として、そこから3Dプリントデータに修正したものだと思います。

例えばCNCでアルミ削り出しケースといったものと同素材で作ったスイッチプレートという組み合わせで組む場合は気になることはないと思いますが、3DプリントしたケースとPCB製のスイッチプレートでは少し見た目が(3Dプリント製のスイッチプレートにするという手もあるのですが)・・・ということで、3Dプリントケース&PCB製のスイッチプレートで作ることを想定してケース内に完全に収納させる形状にデータを修正しました。

②ケースのビス固定部分はインサートナットに変更

オリジナルの3Dプリント製ケースの固定方法は、M3×5mmの六角スペーサーを接着してそこにボトムケース側からビスを打ち固定する形状になっています。

一部壁厚を確保出来ていない部分も見受けられます。

これは固定方法として面倒となりこのサイズのケースならM2ビスで固定しても問題ないと思うので、M2×4mm(OD3.5mm)のインサートナットを挿入しケースの固定が出来るように変更しました。

あと3Uスペースバーを使う場合、現在のバージョン(v1.0)ではスタビライザーに対応していないので取り付け出来るようにしようかとも考えたのですが、これはケース外形寸法も変更する必要があり製作者様のオリジナル形状を活かせなくなるので今回は非対応のままとしています。

また底面のスイッチ部分(RESET/BOOT)の穴を追加するなど・・・オリジナルの外観を活かせる範囲で他にも細かい部分をいくつか変更を行いました。

以上いくつか修正を行い、トップ・ボトムケース内にPCB製スイッチプレートとメイン基板を完全に収納するフラットタイプのケースにしたものを発注しました。

自分の使用環境や組みやすいように手を加えるなどが出来るのもオープンソースの楽しいところですね!
データを公開して頂いている製作者様に感謝です!

上記のように手を加えさせて頂いたトップ&ボトムケース(STL)とそれに合わせたPCB用スイッチプレート(ガーバー)をダウンロード出来るようにしておきます。
GitHubにあるオリジナルのメイン基板と合わせて使うことが出来ます。
興味ある方は使ってみて下さい!

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

メイン基板

GitHubからダウンロードしたメイン基板と上記修正したPCB製スイッチプレートをJLCPCBに発注、また修正したケース(トップ・ボトム)はJLC3DPに発注しました。
JLC3DPはJLCPCBの関連サービスなので、同梱で発注&発送してもらうことも出来ます。

まずメイン基板とPCB製スイッチプレートの発注を見ていきます。

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

ヒートガンやリフローによる実装環境がある方は、自分でパーツを用意して実装してしまえばかなりお安く製作することが出来ると思います。

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

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

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

メイン基板の製造料金は10.7ドルとなりました。

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

ステンシルを一緒に発注する場合、[PCBと一緒に発注する]にチェックを入れます。

JLCPCBではステンシルを発注する際にサイズを指定しないとかなり大きなサイズで届いてしまいます。
Ortho 4×10 TKLのメイン基板のサイズは約200mm×90mmとなっているので、220mm×120mmにサイズ指定を行い発注しました。(サイズ指定は無料です)

実装面は裏面(底)になるので指定を間違わないように!

ステンシル料金7ドルがプラスされ、メイン基板の料金は17.7ドルとなりました。

MEMO
私が発注したメイン基板は、[表面仕上げ]にENIG(金メッキ)オプションを選択して発注しました。(上記価格にオプション料金が加算されます)
通常のHASLで発注しても特に問題ありません!

スイッチプレート

次にスイッチプレートです。
上記修正したものを発注しました。

同様にガーバーファイルをJLCPCBのサイトにアップロードします。
発注項目の選択はメイン基板と同じです。(ステンシルは必要ありません)

スイッチプレートの基板製造料金は12.3ドルとなり、メイン基板(ステンシル含む)と配送料金13.81ドル(OCS EXpressを選択しました)を合わせたトータル価格は約44ドルとなりました。

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

【電子工作】はじめての基板製作!JLCPCBさんに基板を発注してみました。ユーザー登録・データ納品・基板到着までの一連の流れをご紹介!
【JLCPCB】初めてステンシルを使ったリフローを行ってみました。JLCPCBでステンシルを発注する手順などを紹介!

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

メイン基板をPCBAを利用してパーツを実装してもらう場合も簡単に見ておきます。

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

上記と同じ方法でメイン基板のガーバーファイルをJLCPCBのサイトにアップロード&発注項目を選択したあと、[PCB組み立て]を選択します。
パーツ実装面は基板裏面なので[ボトム面を組み立てる]、[PCBAタイプ]は[エコノミック]を選択し[次へ]進みます。(PCBA数量は必要に応じて枚数を選択して下さい)

実装面の確認です。
ボトム側で問題ないので次へ進みます。

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

実装するパーツや関連付けが合っているかの確認です。
ホットスワップソケット(MX1…)とピンヘッダー(J3)は手はんだで出来るので除外しましたが、LCSCの方で3.3Vレギュレーターチップ(XC6206)が不足しているようです。

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

不足パーツや実装しないパーツがある場合このように警告されますが、[配置しない]を選択して次へ進みます。

次にパーツの配置に問題ないか確認します。
パーツが反転していたり位置が合っていないことがよくありますが・・・
フラッシュの向きが合っていないようです。

パーツを選択し右クリックで回転させる角度を選択し正しい向きになるように修正しておきます。
修正が完了したら次へ進みます。

レビュー後の実際の価格を確認していますんが、PCBAを利用する際のメイン基板の概算料金は約53ドルとなるようです。

メイン基板のPCBA料金52.65ドルとスイッチプレートの料金12.3ドルと合わせると約65ドルとなり、これに選択した配送方法による送料をプラスしたものがトータル価格となります。

MEMO
この例では、3.3V LDOチップ(XC6206)が不足していたのでPCBAから省きました。
そのため自身でパーツを入手し届いた基板に実装させる必要があります!

JLC3DPにケースを発注

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

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

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

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

トップケースは11.2ドル、ボトムケースは19.62ドルとなりました。

ちなみにJLC3DPのスプレー塗装は、記事執筆時現在(2025.02)15色のカラーからマット or 光沢の全30パターンから選択することが出来ます。

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

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

基板・ケースの到着

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

先に発注したメイン基板とスイッチプレートは配送方法にOCS Expressを選択し発注から8日ほどで到着、3Dプリントケースは発注から12日ほどで手元に届きました。
3Dプリントパーツの製造は時間がかかるので、基板とケースを一緒に発注する場合の到着目安は約2週間ほどかかるということになります。

スプレー塗装で製造したケースは非常に綺麗な仕上がりです!

JLC3DPのスプレー塗装は他社と比べかなり低コストで製造してもらえるのですが、いつも綺麗な仕上がりでテンションが上がります。

このクオリティーなら自宅の3Dプリンタで試作したケースから、最終的な完成品として自分が使うものは毎回置き換えたいところです!

パーツの実装

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

Ortho 4×10 TKLではチップ抵抗やコンデンサは0402サイズのものがベースで使われています。(一部0603サイズのものも使われています)

私自身0402サイズのパーツ実装は今回がほぼ初めてとなり、今後このサイズのパーツ実装を自分で出来れば自作キーボード製作や他の自作基板の設計などに活かせることからチャレンジしてみました。

いつものようにステンシルを使いはんだペーストを綺麗に塗布する事は出来たのですが・・・

普段よく使う0603サイズとは違い、さすがに0402は小さいですね!

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

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

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

MHP50のホットプレートサイズを超える大きな基板にも対応することが出来るので非常に便利です。

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

基板サイズが大きいためリフローの際にはんだの不良箇所を見逃しがちになることから、ホットスワップソケットのみ手はんだで行うことにしました。

0402サイズのパーツ実装は今回ほぼ初めてだったので普段より結構時間がかかりましたが・・・かなり綺麗に実装出来ました。

RP2040もこのレベルで一発で決まってくれると完璧です!

あとは残りのホットスワップソケットを手はんだで取り付けて実装完了です。

0402サイズの実装をやってみて感じたのは、物理的にパーツのサイズが非常に小さいのである程度はんだ作業に慣れていないと難しくなり、普段自作キーボードの製作をされている方でもチップパーツのはんだ作業に不慣れであれば、PCBAサービスを利用するのがいいと思います。

今回いつもより実装に時間がかかってしまいましたがこれは慣れの部分が大きいので、今後何度か行えばもう少し効率的に出来ると思います。

これは余談ですが、このあとChonkyKongというこちらもオープンソースで公開されているキーボードのパーツ実装も行ったのですが、一度経験しているので0402サイズの実装も難なく出来てしまいました。
こちらはまた別記事で詳しく書きたいと思います。

電子工作的には自分でパーツを実装するのは楽しく、自作キーボードは特殊なハード構成で組んでいない限り使われているパーツは大体どれも同じものなので、自分で実装出来ればPCBAを利用するより圧倒的にコスパは良くなりますね!

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

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

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

メイン基板の[BOOT]スイッチを押した状態で[RESET]スイッチを押すとDFUモードに入り接続したPCにUSBマスストレージとして認識 されます。

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

ブラウザ版またはアプリ版Vialを開き、スイッチテストを行い問題がなければ基板は完成です!

キースイッチ・ケースの取り付け

ファームウェアを書き込み動作確認で問題がなければ、キースイッチをスイッチプレート&メイン基板に固定してケースに収めれば完成です!

2週間ほど試作ケースで運用していましたが、春節休みを終えJLC3DPで作ったケースが届いたのでこの本番ケースに入れ替えました。

綺麗なケースで使っていてテンションも上がります!
CAD作業で使うコマンドをマッピングしたマクロパッドとして使っています。

今回オリジナルのものからデータを修正して製作したものでは、ケースの固定ビス部分にインサートナットを使います。
JLC3DPのスプレー塗装ではレジン製となるためFDMフィラメントのように樹脂が溶けてくれませんが、はんだゴテの熱で圧入出来るようにサイズ調整しています。

このようなインサートナット専用のチップ(コテ先)があると便利です。(写真のものはT12用です)

はんだゴテはFX600を使われている方が多いと思います。
FX600で使う時は下記のチップを使っています。

使用するインサートナットは、M2×4mm(OD3.5mm)を使って下さい。
またケースの固定はM2×10mmビスを使います。(各4本使用)

比較的安価でクオリティーが高いものが作れるJLC3DPは、最終的な完成ケースを作るのにホントおすすめです!

使用パーツ一覧

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

パーツ定数入手先
コンデンサ
(0603)
C3 10μFAliExpress
コンデンサ
(0402)
C1/C2/C4/C6/C12 1μF
C5/C7/C8/C9/C13/C14/C15/C16 100nF
C10/C11 22pF
AliExpress
ダイオード
(SOD-123)
D1-D40 1N4148WAliExpress / 秋月電子
ヒューズ
(1206)
F1 500mAAliExpress
USB端子J1 Type-CAliExpress / 秋月電子
ホットスワップソケットMX1-MX40AliExpress / 遊舎工房
抵抗
(0402)
R1/R2/R3/R8/R9 5.1kΩ
R4/R5 27Ω
R6/R7 1kΩ
AliExpress
タクトスイッチ
(SMD)
SW_BOOT/SW_RESET
4mm×4mm×1.5mm(SMD)
AliExpress
MCUU1 RP2040AliExpress / 秋月電子
LDOU2 XC6206-3.3V(SOT-23-3)AliExpress
フラッシュU4 W25Q128JVSIQAliExpress
クリスタルY1 12MHz(3225)AliExpress / 秋月電子
ケース固定用インサートナット M2×4mm(OD3.5mm)
M2×10mmビス
(各4本)
ーーーー

最後に!

Disorder30を製作し非常に気に入ったことから、30~40%という同様なサイズ感で作られたOrtho 4×10 TKLも組んでみました。

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

用途によって使用感は変わってくるかと思いますが、私の場合はキーボードとしてではなくCAD用途でキーボードショートカットを割り当てたマクロパッド的な使い方をしています。
このキー数ならFusion360やKiCadといったCADソフトのショートカットキーをレイヤーを切り替えることなく使用出来るので便利です!

ケースやスイッチプレートに手を加えたものを使い今回製作してみましたが、オープンソースで公開されているものは自分の使用環境や用途などによりカスタムして製作することも出来るので楽しいですね。
設計者様に感謝です!

コメントを残す