名前 | 数 | 備考 |
---|---|---|
メイン基板(左右) | 1組 | |
トッププレート(左右) | 1組 | メインと親指部のセット 3Dプリント品 |
ボトムプレート(左右) | 1組 | 3Dプリント品 |
ケース(左右) | 1組 | 3Dプリント品 |
リセットボタン用スティック | 2本 | 3Dプリント品 |
電源スイッチキャップ | 2本 | 3Dプリント品 |
トラックボールケース | 1個 | 3Dプリント品 |
Φ2 セラミックボール | 3個 | トラックボールケースに取り付け済み |
水平ロータリーエンコーダ | 1個 | EVQWGD001 |
ロータリーエンコーダ用基板 | 1個 | |
トラックボール読取り基板 | 1枚 | |
トラックボール読取りセンサ | 1個 | PMW3610 |
読取りセンサ用レンズ | 1個 | |
L字コンスルーピン(7ピン) | 1個 | |
コンスルーピン(3ピン) | 2個 | うち1つは中央のピンが不必要のため取り外しています |
ピンソケット(7ピン) | 4本 | |
ピンヘッダ(7ピン) | 4本 | |
スプリングピン(ポゴピン) | 8本 | GB15-07020-0818-2A |
PHコネクタ | 2個 | |
スライドスイッチ | 2個 | |
ダイオード(表面実装タイプ) | 50個 | 予備含む |
Kailh PCBソケット CherryMX用 | 40個 | |
Kailh PCBソケット choc用 | 5個 | |
スペーサー M2 7mm | 10本 | |
スペーサー M2 4mm | 3本 | |
ネジ M2 3.5mm | 28本 | 予備含む |
ネジ M1.7 | 2本 | |
クッションゴム | 4個 |
なお3Dプリントケースはgithub上で公開しています。
ボトムプレートは4度の傾斜が付いているのでスライサーソフトで4度回転させると平面に印刷できます。
ポゴピンをGB15-07020-0818-2Aこの型番でaliexpressで購入すると基板に差すことができない可能性があります。
最近購入できるものは、以前まで購入できたものよりも根本のピンの直径がやや太くなってしまっています。
GB15-07020-0818-2Aのピンをやすりで削るか、GB15-07020-0618-2Aの型番(未検証だがスペック的に)を購入するかで対応可能と思います。
次のロットではこのピンの仕様変更に対応した基板になっています。
名前 | 数 | 備考 | 参考情報 |
---|---|---|---|
Xiao nrf52840 | 2個 | 主な購入先 | |
CherryMX互換キースイッチ | 37個 | ||
ロープロファイルキースイッチ | 5個 | ||
直径34mmトラックボール | 1個 | 主な購入先 | |
5mm幅カプトンテープ | 数cm | 近接したポゴピンの保護に使用しますので必ず用意してください | 主な購入先 |
Lipoバッテリー(コネクタ付き) | 2個 | ボトムプレートはL53mm × H23mm × H6mm 以内の大きさに対応 | 主な購入先 |
USB type-Cケーブル | 1本 | ファームウェア書込みと充電に必要 | |
キーキャップ | 37個 | 1u 37個 | |
ロープロファイルキーキャップ | 5個 | 1u 5個 | |
両面テープ | - | ボトムプレートへのバッテリーの固定に必要 |
※リポバッテリーには発火等の危険性があります。各自購入したバッテリーの注意事項をよく読み、適切に取り扱うよう注意してください。
取り扱いの不備により発生した事故等の責任は負いかねます。
※主な購入先のリンクはアフェリエイトリンクではありません。
- ロータリーエンコーダ部分にキーソケットを取り付けキースイッチを取り付けることも可能です。
- ボトムプレートに直径4cmの円形のスペースを設けています。ステンレスプレートなどを仕込むことが可能です。
名前 | 備考 |
---|---|
はんだごて | 温度調整可能だと◎ |
はんだ | |
ピンセット | |
ドライバ | |
マスキングテープ | |
テスター | |
ペンチ | |
Xiao nrf52840へファームウェアの書込みが必要です。
ビルド済みのファームウェアはこちらです。
zmk firmwareを使用しているため、ご自身でファームウェアやキーマップをカスタムされる場合はgithubアカウントが必要になります。
ダイオードは基板裏面(roBaロゴがない面)に実装します。ダイオードは実装の向きがあります。
ダイオードに薄く書かれている線と基板に印刷された図(以降シルク)にある線が同じ方向になるように取り付けて下さい。
ダイオード用パッドの片側にはんだを盛ります。
そしてピンセットでダイオードを掴み、シルクと向きを合わせて事前に盛ったはんだを溶かしつつ位置を合わせます。
およそシルクと同じ位置に決まったら、もう片側もはんだで固定します。
ピンセットでダイオードが取れないことを確認したら取り付け完了です。
これをすべて(43箇所)に対して行います。
キーソケットも基板裏面に実装します。
親指部分はchoc用のキーソケットを使用してください。
ダイオードと同様に片方のパッドに事前にはんだを盛ります。
そして、キーソケットをシルクに合う向きで基板にはめ込みます。
その状態のまま、キーソケットをピンセットで抑えつつ、事前に盛ったはんだを溶かすとキーソケットが沈み、固定できます。
固定出来たら、反対側のパッドもはんだで固定します。
このスライドスイッチが電源スイッチとなります。
スライドスイッチは基板表面に実装します。
表面からピンを差し込み、マスキングで仮止めします。
そして裏面から出たピンをはんだ付けし、固定します。
はんだ付け後、ピンが長い場合はペンチ等で短くカットしても良いかもしれません。
ポゴピンって名称がいいですよね。口に出して言いたい単語です。
名称のわりにポゴピンのはんだ付けが一番難易度高いかもしれません。
ポゴピンは基板表面に実装します。
実装部分に差し込み、ポゴピンの根本をはんだで固定します。
この時ポゴピンが斜めになり、隣のポゴピンに接触しないように注意してください。
手が3本ある方は角度をピンセットで調整しながらやるとgoodです。
テスタなどで隣接したポゴピンが導通していないかを必ず確認してください。
確認出来たら念のため、カプトンテープで保護し、取付完了です。
左右各4箇所、合わせて計8箇所あります。
実際かなり難しく斜めになってしまう場合があります。 角度が悪いとマイコンとの接触が悪くなりキーが反応しない場合があります。 その場合、ポゴピン裏のランドにはんだごてをあてて温め、 表からピンセットで角度調整するようにしてください。 なお、かなり不安定な作業で危険なためほかの人の助けを借りたほうが良さそうです。
バッテリ取り付け用のコネクタです。
コネクタは基板表面に実装します。
表面からシルクに合うような向きで差し込み、マスキングテープで仮止めします。
そして、裏面からはんだで固定します。
左右各1箇所、計2箇所取り付けます。
マイコン取り付け用のソケットです。
基板表面に実装します。
片方はポゴピンに盛ったはんだが邪魔して垂直に差しづらい場合があります。 その場合はお手数ですがピンソケットのはしを少しやすりで削る等して垂直にさせるようにしてください。 基板に対して垂直でないとこれもポゴピンがマイコンに適切に接触しない原因になります。 ピンヘッダとマイコンを仮に重ねて事前に正しく接触しそうか確認するとよいかもしれません。
表面から差し込み、マスキングテープで仮止めします。
そして、裏面からはんだで固定します。
左右各2箇所、計4箇所取り付けます。
ピンヘッダはマイコンにはんだで取り付けます。
まず、先ほど取り付けたソケットにそれぞれピンヘッダを差し込みます。
短いピンがソケット側になります。
その状態でマイコンにピンヘッダを差し込みます。
しっかりと奥まで差し込まれた状態(ポゴピンの先が押し込まれ、マイコンのパッドに接触している状態)で、マイコンにピンヘッダをはんだ付けします。
トラックボール読み取り基板を取り付けるためのコンスルーです。
コンスルーには輪っかになっているピンと1本の直線のピンがありますが、直線のピンのほうを基板へ取り付けます。
コンスルーは基板表面に実装します。
表面から差し込み、マスキングテープで仮止めします。
そして、裏面からはんだで固定します。
トラックボール取り付け側の基板のみ1箇所です。
トラックボール読み取り基板へセンサをはんだ付けします。
「pmw3610 module」の文字がある面を表面とし、裏面からセンサを差し込みます。
このとき、向きを間違えないよう写真をよく確認してください。
裏面に書かれた文字とセンサに書かれた文字の上下が揃っている向きが正しい向きです。
そして、表面に出たセンサのピンをすべてはんだ付けしていきます。
センサのデータシートによると最大260℃までの温度、7秒以内でのはんだづけが推奨されています。
これ以上高い温度または長時間での作業はセンサの故障につながる恐れがありますので注意してください。
とはいえ焦って作業するのも良くないので適度に冷ましつつ落ち着いて作業してください。
-
ランドの面積が小さいので、はんだを盛りすぎてピンがブリッジしてしまわないように注意してください。
個人的に手前のピンから順にはんだ付けしていくほうが失敗がなさそうです。 -
また、はんだ不良によりセンサが動作しない場合もありますので、
センサが動作しない場合は、まず、この部分のはんだに不良がないか確認するとよいです。
基板の接続は以下のようになっていますので参考にしてください。
はんだづけが完了したら保護シールをはがしてください。
センサの取り付けが完了したら、レンズを装着してください。
このロータリーエンコーダはメイン基板に直接実装すると少し背が低いので、一枚基板を挟んで取り付けます。
写真のように基板にロータリーエンコーダを差し込みます。
裏面から出たピンをはんだで固定します。
(完全に盲点だったんですが、ロータリーエンコーダが丸いため安定した状態での作業がなかなか難しいです。
各自テープで固定して作業するなど工夫して安全な作業をお願いします。
写真はマスキングテープで頑張りましたが安全とはいい難しです。)
ロータリーエンコーダの取り付けが完了したら、メイン基板へ差し込みます。
- メイン基板の裏に出ているピンははんだしないことでロータリーエンコーダを後から外し、キースイッチに取り換えることができます。
以上ですべてのはんだ付けが終了です。腰が丸まったと思うので背伸びしておいてください。お疲れ様でした。
なお、この時点で、手順4-4、手順5あたりを行い、動作確認をしてしまうと組み立て後の後戻りが少なく楽かもしれません。
バッテリー用コネクタにバッテリーを差し込みます。
基板の切り欠きから配線を裏に通すようにします。
購入したバッテリと極性(写真のような線の色)が合っているかを確認し取り付けてください。
メイン基板の上にケースを乗せます。
この時、ケースのマイコン上部にある穴にリセットボタン用スティックを差し込みます。
このスティックを介してマイコンのリセットボタンを押せるようにしています。
続いてトッププレートにスペーサをねじ止めします。 親指部分に4mmスペーサを使用します。他は7mmスペーサを使用します。
そして、ケースの上からトッププレートを乗せます。
トッププレートとメイン基板で挟み込みケースを固定する構造になっています。
トッププレートとメイン基板の間は空洞になっていますが、お好みでポロンシートなど仕込むと打鍵音にいい影響があるかもしれません。
ボトムプレートのくぼみにバッテリーを収納します。
この時バッテリーの裏に両面テープを貼り、ケースへ固定することをお勧めします。
また、小さいサイズのバッテリーを使用し、スペースが余る場合はポロンシートなどで隙間を埋めておくと良いかもしれません。 さらに、打鍵音を気にする方は、メイン基板の裏にマスキングテープを張っておくと打鍵音が多少良くなります。
バッテリーを収納することができたら、ケース裏にボトムプレートをはめ込みます。
そして、裏からM2ネジで固定します。
メイン基板のL字コンスルーにトラックボール読み取り基板を差し込みます。
トラックボール読み取り基板を取り付け後、トラックボールケースを上から差し込み、ボトムプレート裏からM1.7ネジで固定します。
電源スイッチキャップをスライドスイッチに差し込みます。 緩いと感じる場合はラップの破片など挟むとよい滑り止めになるかもしれません。
電源スイッチのオンオフの向きは初回ロット(9/15booth販売分)のみ写真のような向きになっています。
それ以降は基本的に左右ともに手前がオフ、奥がオンに揃っています。
以上で組み立て完了です。 あとはお好みでキースイッチ、キーキャップを取り付けてください。 お疲れ様でした!
(仮)としているのは、いずれキーマップをカスタマイズする際に現状ファームウェア自体を変更し、書込み直す必要があるためです。
(zmk studioというプロジェクトが進んでいて、いずれファームウェアの変更なしにキーマップのみGUIで編集できるようになるらしいです。やったね。)
こちらからzipファイルをダウンロードしてください。
解凍すると以下の3つの.uf2ファイルが入っています。
- settings_reset-seeeduino_xiao_ble-zmk.uf2
- roBa_L-seeeduino_xiao_ble-zmk.uf2
- roBa_R-seeeduino_xiao_ble-zmk.uf2
settings_reset-seeeduino_xiao_ble-zmk.uf2はここにあるように分割キーボードのペアリングに関する問題を解決するための設定初期化用のファームウェアです。
- PCと左側のマイコンをUSBで接続します。はじめはキーボードの電源はオフで大丈夫です。
- マイコンのリセットボタンを2回押すと、「XIAO SENSE」という名前でUSBドライブとして認識されるかと思います。(ブートローダの起動)
- 「XIAO SENSE」ドライブにsettings_reset-seeeduino_xiao_ble-zmk.uf2をドラッグアンドドロップします。
- 書込み完了すると、「XIAO SENSE」というドライブは消えますが、再度セットボタンを2回押し、ブートローダを起動します。
- 「XIAO SENSE」ドライブにroBa_L-seeeduino_xiao_ble-zmk.uf2をドラッグアンドドロップします。
- 右側も同様の手順でsettings_reset-seeeduino_xiao_ble-zmk.uf2とroBa_R-seeeduino_xiao_ble-zmk.uf2を順番に書き込みます。
- 両方の書込みが完了したら、電源を入れ、それぞれのマイコンのリセットボタンを1回押します。
- PCでbluetoothデバイスとして「roBa」が認識され接続できればOKです。
bluetooth接続が完了したらすべてのキーが認識するか、ロータリーエンコーダ、トラックボールが問題なく動作するか確認しましょう。
左右間のペアリングは電源を入れると自動的に行われます。
有線接続でも動作しますが、左右間は無線接続のみになります。
ファームウェア(仮) では以下のような接続方式になっているのでロータリーエンコーダ側はPCに有線接続してもキーボードとして動作しません。
- ロータリーエンコーダ側(ペリフェラル) ⇔ (無線接続) ⇔ トラックボール側(セントラル) ⇔ (無線or有線接続) ⇔ PC
なお、このファームウェアではデフォルトでオートマウスレイヤーが4、スクロールレイヤーが5となっています。
冒頭で書いたようにzmk firmwareの編集にはgithubのアカウントが必要です。
一からファームウェアを用意する際の手順は公式ドキュメントの導入解説を見るとわかりやすいです。
以下では、私が作成したリポジトリをフォークし、KeymapEditorを用いてGUIでキーマップを書き換える手順を紹介します。
- githubアカウントを作成し、ログインします。
- このリポジトリにアクセス
- 画面右上の「Fork」をクリック
- そのまま「Create fork」をクリック
- フォークしたリポジトリの「Actions」タブに移動し、「I understand my workflows, go ahead and enable them」をクリックし、github Actionsを有効化
- KeymapEditorにアクセス
- 「GitHub」を選択
- 「Login with GitHub」からでログインし、「Authorize Keymap Editor」を選択
- 指示に従い、フォークしたzmk-config-roBaにKeymap Editorがアクセスできるように進める
- Keymap Editor上でキーマップが表示されたら、好きにキーマップを編集する
- 画面左上の「Save」を押すと、編集したキーマップが適用されてGitHub Actionsが走り、自動的にビルドが開始します
- 「Save」の隣に表示される「Latest」をクリックするとGitHubに移動し、ビルドが完了するとファームウェアがダウンロードできるようになります。
(ビルドには2~4分かかる場合があります。) - 書込み手順に従い、ファームウェアを書き込みます。
- キーマップの編集のみの場合はトラックボール側(セントラル)のみを書き換えることで変更が適用されます。
リセットファームウェアの書込みも基本的には必要ありません。 - KeymapEditorを用いずにroBa.keymap以外のファイルの内容を書き換えた場合は、左右のファームウェアを書き換えてください。
- ファームウェアを書き直した際は、PC側のペアリング情報も削除してから再度ペアリングを行ってください。
- キーマップの編集のみの場合はトラックボール側(セントラル)のみを書き換えることで変更が適用されます。
- 無事に変更したキーマップが適用されていれば成功です。
※REMAPやVialには対応していません。
- zmk firmware公式のトラブルシューティングにあるようにまずはsettings_reset-seeeduino_xiao_ble-zmk.uf2の書込みからやり直すことをお勧めします。
- (あまりないと思いますが)マイコン自体に問題がないか確認するため、キーボードに接続しない状態マイコン2個で認識、接続できるかも一応試してみてください。
- (あまりないと思いますが)ケースが正しく装着できておらずセンサの読み取り部分が隠れてしまっていないか確認してください。
- トラックボール読み取り基板とセンサのはんだに不良がないか確認してください。
- はんだに失敗しやり直し不可の場合は、センサとトラックボール読み取り基板のみで保守部品としてboothで販売予定ですのでそちらをご利用ください。
- settings_reset-seeeduino_xiao_ble-zmk.uf2の書込みからやり直してみることが有効な場合があります。
- はんだ不良、ポゴピンの接触不良、ダイオードの向き、キースイッチが正しくソケットに刺さっているかを確認してください。
このキーボード固有の問題ではなくファームウェアのカスタマイズ等で疑問点がある場合、以下が参考になると思います。
- 公式ドキュメント
- かなり丁寧に作りこまれているので基本的な設定はドキュメント見ればわかると思います。
- zmk firmware Discordサーバ
- 活発に動いているので質問すると誰かしら回答くれることが多いです。