このページではRP2040-Tinyを自キ向けにカスタマイズするためのパーツ「TinyDash Choc」を利用したキーボードの設計方法について説明します。

はじめに
このページではキーボード設計者向けに、「TinyDash Choc」を利用したキーボードの設計方法について説明します。コンセプトが「メイン基板をPCBAしたくない人向け」なのでTinyDashChocのPCBAの発注方法についても画面で説明します(伝われ!*1)。
もくじ
- はじめに
- もくじ
- TinyDash Choc利用にあたってのお願い
- 各種データの公開先
- TinyDash Chocの制限について
- 設計してみる(KiCAD向け)
- TinyDashChocを購入してみる
- TinyDashChocを組み立てる
- TinyDash ChocをPCBAする
- 頒布する
- 改変する
TinyDash Choc利用にあたってのお願い
TinyDash Chocは製造データを無償公開しているのと同時にPCBA済の半完成品も頒布予定です。作者が直接頒布するのは設計者向けのサンプルという位置づけですので、TinyDashを採用したキーボードを頒布等される際にはご自身で製造して頂くようお願いします。(こちらでは需要の予測が立たず在庫の調整が困難なため)
また、ご自身で製造・頒布されたTinyDash Chocのサポートは当方では出来かねますのでその点ご了承頂くとともに、購入者へも周知頂くようお願いいたします。
もし採用したキーボードを作られた際にはご一報いただければ嬉しいです。
各種データの公開先
製造データ(Gerberファイル、BOM等)やフットプリントなどを以下で公開しています。ライセンスはCC-BY-4.0で無償で利用可能です。
TinyDash Chocの制限について
TinyDash Chocは決してあらゆるキーボードレイアウトに対応しているわけではありません。作りたいキーボードが以下の条件にマッチしているかをあらかじめ確認してください。
- Kailh Choc v1、v2、LofreeFrow用スイッチのいずれかであること(CherryMXなど、他のスイッチには対応していません)
- 19.05mmピッチであること
- キーボードの上辺にUSBコネクタが来ること、また少なくともその部分がベゼルレス相当であること
- 基板上のどこかにRP2040-Tinyを配置するスペース(18.0 x 23.5 mm以上)があること
例えば、拙作Riemannには2Uのキーがあり、本来はスタビライザーを用いるべきですが、Riemannではこの位置にRP2040-Tinyを配置しているためやむを得ず省略しています。
設計してみる(KiCAD向け)
とりあえず購入/製造する前に使えそうかどうかをKiCAD上で確認してみることをお薦めします。希望するレイアウトに適合しそうであればぜひ採用してみてください。
フットプリントを入手する
以下で公開しているフットプリントをダウンロードしてKiCADのライブラリに追加してください。
https://github.com/kkakmake/TinyDash/tree/main/Footprint/TinyDashChoc/v2.x
なお「FFCConnector~」は使用しません。
メイン基板にフットプリントを配置する
メイン基板用のフットプリント「TinyDashChoc2_PCB」を配置します。作者の趣味でUser.Commentなどが日本語配列のロースタッガードを想定した表示になっていますが気にしないでください*2。
このフットプリントの原点はリセットスイッチの中心点になっています。これを左右のキーの境目の下端(赤矢印の位置)に合わせます。

水色のラインがTinyDash Chocの外形を表していますので、この範囲内にダイオードなどのパーツを配置しないでください。また、下の長方形(赤矢印の位置)はBOOTSELボタン用に穴を開けるためEdge.Cutsになっています。
スイッチプレートにフットプリントを配置する
BOOTSELボタンへのアクセスのためスイッチプレートにも穴を開ける必要があります。メイン基板と同じ位置に「TinyDashChoc2_Plate」を配置してください。

RP2040-Tinyを配置してみる
RP2040-TinyはRP2040-Zeroと同じフットプリントが使えます。レイアウト上のどこか空いている位置に配置できそうか確認してみてください。
TinyDashChocを購入してみる
以下で頒布中です。
TinyDashChocを組み立てる
BOOTSELボタンのはんだ付け
作者が頒布しているTinyDash Chocは完成品ではなく、裏面のみのPCBAのため表側にあるBOOTSELボタンのはんだ付けが必要です。Riemannのビルドガイドの該当箇所を参照し、はんだ付けと動作確認を行ってください。

メイン基板への取り付け
取り付け方法もRiemannのビルドガイドを参照してください。M1.6のねじとナットを3組使用します。*3

TinyDash ChocをPCBAする
沢山必要な場合はPCBAしてください。JLCPCBで発注する場合の手順を以下に紹介します。
データを入手する
製造データ(Gerber、BOM、位置情報)を以下で公開しています。発注データはPCB1枚あたり5個の面付けになっています。
https://github.com/kkakmake/TinyDash/tree/main/Gerber/TinyDashChoc/v2.0
JLCPCBに発注する
1) JLCPCBにアクセスしログインします。アカウントが無い場合は作成してください。
2)「発注する」をクリックし見積画面を表示します。
3)「ガーバーファイルを追加」をクリックし「TinyDashChoc2_panel5.zip」をアップロードします。
4) 下記の通りPCBのパラメータを設定します。
| 項目 | 設定値 |
|---|---|
| PCB数量 | 任意(面付しているので5倍になります) |
| 納品形式 | 面付済み |
| パネル形式 | 列:5、行:1 |
| PCB厚さ | 1.0 |
| PCBカラー | 任意 |
| PCB上のマーク | マーク除去 |


5) 下にスクロールして「PCB組み立て」にチェックを入れます
6) PCBAのパラメータを設定します。
| 項目 | 設定値 |
|---|---|
| 組み立てサイド | ボトム面 |
| 部品配置の確認 |
はい(念のため) |
| 規約に同意 |
確認の上チェック |

7) 「次へ」をクリックします
8) PCBAの詳細画面に遷移したら、「底」を選択し「次へ」をクリックします。
9) 部品表画面で「bom_panel5.csv」「positions_panel5.csv」をそれぞれアップロードします。
10) 「ファイルを完成させ~」を選択し「BOMとCPLを処理する」をクリックします。
11) パーツの価格・数量が表示されるので内容を確認します。
下の例で抵抗とコンデンサはTinyDashChoc1個当たり2個載っているのでPCBA数量5枚×5面×2個=50個、同様にUSBコネクタは5枚×5面×1個=25個になっています*4。前画面での指定を間違えると極端に多い数量(抵抗が250個とか)になりますので妥当な数量であることを確認し、「次へ」をクリックしてください。
12) コンポーネントの配置画面になります。「bottom」をクリックし、部品の位置にズレが無いことを確認し「次へ」をクリックします。
13) 最後に「商品説明」から「オフィス用品及びアクセサリ/キーボード」を選択し、「カートに保存」をクリックします。
14) カートの内容を表示し、対象をチェックしたうえで「安全な決済」をクリックします。
15) 配送先等を選択し「次へ」をクリックします。
16) 配送方法を選択し「次へ」をクリックします。
17) 支払い方法とクーポンを選択(各クーポン右下のチェックを入れないと適用されません)し、内容をよく確認の上「支払う」をクリックします。
18) これで待てば届くはずですが、製造前の段階で注文履歴の画面が以下のような表示になりアクションを要求されたことがありました。
19)「パーツの位置がおかしいのでこちらで修正してよいか」という確認でした。発注段階の画面では正常だったので何かしらのバグと思われますが、とりあえず「Yes~」を選択し「Submit」をクリックしました。(ここだけ言語設定が英語のままだったので、日本語表示だと別の文言になるかと思います)
20) あとは2週間ほど待てば青箱が届きます。
BOOTSEL用スイッチを調達する
BOOTSEL用のスイッチは別途調達してください。4 × 3 × 2mmで4本足の表面実装のタクトスイッチです。使用しているKiCADのフットプリントは「Button_Switch_SMD:SW_Push_1P1T_NO_CK_KMR2」で、これに対応する正規の製品はC&K Switches の KMR2というシリーズのうちGNDピンのないものになります。
ただ、作者はこれより少し足の長いものをAliExpressのこのセラーで購入して使用しています*5。

JLCだとPart#C19779114がこれに近いかもしれません*6が、執筆時点で在庫0で最低発注数量が254となっています。。
次バージョンではもう少し調達しやすいパーツに変えるかもしれません。
ねじを調達する
ねじはM1.6の低頭ねじとナットを3個ずつ使用します。
検品する
到着したら切り離し、RP2040-Tinyに接続し各種動作を確認します。
頒布する
有償・無償問わず特に商用利用について制約は設けていません。ただし、購入者へのサポートは各自で行って頂くようお願いいたします。
なお、CC-BYの求める著作権者表示についてはシルクに「by KK@K」と入っていれば満たしていると考えていただいて問題ありません。
改変する
CC-BY-4.0の定めに基づいてご利用下さい。
*1:と書いて伝わるなら苦労はないので書きます。TinyDashChocは「マイコンボード採用時のレイアウトの制約に悩んでいるけどメイン基板にMCUなどを配置してPCBAを発注することにまだ抵抗がある人(当然私を含む)」向けのパーツです。なので単にコネクタ部分のみであればPCBAするにさしたる抵抗はないであろうと考えています。したがってPCBAの経験が無い人を想定してPCBA発注の手順を紹介する次第です。
*2:邪魔なら消してください
*3:ねじの長さについて、作者が頒布しているものは4mmを使用していますがメイン基板の厚みが1.2mmなら3.5mmでよいかもしれません。
*4:FFCコネクタの数が半端なのはMOQの関係と思われます
*5:ただしこのセラーは届くのが遅いのでAliで買うなら別のセラーを探したほうが良いかもしれません
*6:試しはていません