Skip to content

Latest commit

 

History

History
563 lines (383 loc) · 29.9 KB

buildguide.md

File metadata and controls

563 lines (383 loc) · 29.9 KB

Build Guide for roBa

目次

1.部品確認

1-1.キット内容

alt text

名前 備考
メイン基板(左右) 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の型番(未検証だがスペック的に)を購入するかで対応可能と思います。
次のロットではこのピンの仕様変更に対応した基板になっています。

1-2.別途準備が必要な部品

名前 備考 参考情報
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個
両面テープ - ボトムプレートへのバッテリーの固定に必要

※リポバッテリーには発火等の危険性があります。各自購入したバッテリーの注意事項をよく読み、適切に取り扱うよう注意してください。
 取り扱いの不備により発生した事故等の責任は負いかねます。
※主な購入先のリンクはアフェリエイトリンクではありません。

1-3.オプション

  • ロータリーエンコーダ部分にキーソケットを取り付けキースイッチを取り付けることも可能です。
  • ボトムプレートに直径4cmの円形のスペースを設けています。ステンレスプレートなどを仕込むことが可能です。

2.準備

2-1.必要な工具

名前 備考
はんだごて 温度調整可能だと◎
はんだ
ピンセット
ドライバ
マスキングテープ
テスター
ペンチ

2-2.ファームウェア

Xiao nrf52840へファームウェアの書込みが必要です。
ビルド済みのファームウェアはこちらです。
zmk firmwareを使用しているため、ご自身でファームウェアやキーマップをカスタムされる場合はgithubアカウントが必要になります。

3.実装

3-1.ダイオードのはんだ付け

ダイオードは基板裏面(roBaロゴがない面)に実装します。ダイオードは実装の向きがあります。
ダイオードに薄く書かれている線と基板に印刷された図(以降シルク)にある線が同じ方向になるように取り付けて下さい。

ダイオード用パッドの片側にはんだを盛ります。

alt text

そしてピンセットでダイオードを掴み、シルクと向きを合わせて事前に盛ったはんだを溶かしつつ位置を合わせます。

alt text

およそシルクと同じ位置に決まったら、もう片側もはんだで固定します。

alt text

ピンセットでダイオードが取れないことを確認したら取り付け完了です。
これをすべて(43箇所)に対して行います。

3-2.キーソケットのはんだ付け

キーソケットも基板裏面に実装します。
親指部分はchoc用のキーソケットを使用してください。
ダイオードと同様に片方のパッドに事前にはんだを盛ります。

alt text

そして、キーソケットをシルクに合う向きで基板にはめ込みます。
その状態のまま、キーソケットをピンセットで抑えつつ、事前に盛ったはんだを溶かすとキーソケットが沈み、固定できます。

alt text

固定出来たら、反対側のパッドもはんだで固定します。

alt text

3-3.スライドスイッチのはんだ付け

このスライドスイッチが電源スイッチとなります。
スライドスイッチは基板表面に実装します。

alt text

表面からピンを差し込み、マスキングで仮止めします。

alt text

そして裏面から出たピンをはんだ付けし、固定します。

alt text

はんだ付け後、ピンが長い場合はペンチ等で短くカットしても良いかもしれません。

3-4.ポゴピンのはんだ付け

ポゴピンって名称がいいですよね。口に出して言いたい単語です。

alt text

名称のわりにポゴピンのはんだ付けが一番難易度高いかもしれません。
ポゴピンは基板表面に実装します。
実装部分に差し込み、ポゴピンの根本をはんだで固定します。

alt textalt text

この時ポゴピンが斜めになり、隣のポゴピンに接触しないように注意してください。 手が3本ある方は角度をピンセットで調整しながらやるとgoodです。 テスタなどで隣接したポゴピンが導通していないかを必ず確認してください。
確認出来たら念のため、カプトンテープで保護し、取付完了です。

alt textalt text

左右各4箇所、合わせて計8箇所あります。

実際かなり難しく斜めになってしまう場合があります。 角度が悪いとマイコンとの接触が悪くなりキーが反応しない場合があります。 その場合、ポゴピン裏のランドにはんだごてをあてて温め、 表からピンセットで角度調整するようにしてください。 なお、かなり不安定な作業で危険なためほかの人の助けを借りたほうが良さそうです。

alt text alt text

3-5.コネクタのはんだ付け

バッテリ取り付け用のコネクタです。
コネクタは基板表面に実装します。

alt text

表面からシルクに合うような向きで差し込み、マスキングテープで仮止めします。

そして、裏面からはんだで固定します。

alt text

左右各1箇所、計2箇所取り付けます。

3-6.ピンソケットのはんだ付け

マイコン取り付け用のソケットです。
基板表面に実装します。

alt text

片方はポゴピンに盛ったはんだが邪魔して垂直に差しづらい場合があります。 その場合はお手数ですがピンソケットのはしを少しやすりで削る等して垂直にさせるようにしてください。 基板に対して垂直でないとこれもポゴピンがマイコンに適切に接触しない原因になります。 ピンヘッダとマイコンを仮に重ねて事前に正しく接触しそうか確認するとよいかもしれません。

表面から差し込み、マスキングテープで仮止めします。

alt text

そして、裏面からはんだで固定します。

alt text

左右各2箇所、計4箇所取り付けます。

3-7.ピンヘッダのはんだ付け

ピンヘッダはマイコンにはんだで取り付けます。
まず、先ほど取り付けたソケットにそれぞれピンヘッダを差し込みます。
短いピンがソケット側になります。

alt text

その状態でマイコンにピンヘッダを差し込みます。

しっかりと奥まで差し込まれた状態(ポゴピンの先が押し込まれ、マイコンのパッドに接触している状態)で、マイコンにピンヘッダをはんだ付けします。

alt text

3-8.L字コンスルーのはんだ付け

トラックボール読み取り基板を取り付けるためのコンスルーです。
コンスルーには輪っかになっているピンと1本の直線のピンがありますが、直線のピンのほうを基板へ取り付けます。
コンスルーは基板表面に実装します。
表面から差し込み、マスキングテープで仮止めします。

alt text

そして、裏面からはんだで固定します。

alt text

トラックボール取り付け側の基板のみ1箇所です。

3-9.センサのはんだ付け

トラックボール読み取り基板へセンサをはんだ付けします。
「pmw3610 module」の文字がある面を表面とし、裏面からセンサを差し込みます。
このとき、向きを間違えないよう写真をよく確認してください。
裏面に書かれた文字とセンサに書かれた文字の上下が揃っている向きが正しい向きです。

alt textalt text

そして、表面に出たセンサのピンをすべてはんだ付けしていきます。
センサのデータシートによると最大260℃までの温度、7秒以内でのはんだづけが推奨されています。
これ以上高い温度または長時間での作業はセンサの故障につながる恐れがありますので注意してください。
とはいえ焦って作業するのも良くないので適度に冷ましつつ落ち着いて作業してください。

  • ランドの面積が小さいので、はんだを盛りすぎてピンがブリッジしてしまわないように注意してください。
    個人的に手前のピンから順にはんだ付けしていくほうが失敗がなさそうです。

  • また、はんだ不良によりセンサが動作しない場合もありますので、
    センサが動作しない場合は、まず、この部分のはんだに不良がないか確認するとよいです。
    基板の接続は以下のようになっていますので参考にしてください。

alt text

はんだづけが完了したら保護シールをはがしてください。

alt text

センサの取り付けが完了したら、レンズを装着してください。

alt text

3-10.ロータリーエンコーダのはんだ付け

このロータリーエンコーダはメイン基板に直接実装すると少し背が低いので、一枚基板を挟んで取り付けます。

写真のように基板にロータリーエンコーダを差し込みます。

alt text

裏面から出たピンをはんだで固定します。
(完全に盲点だったんですが、ロータリーエンコーダが丸いため安定した状態での作業がなかなか難しいです。 各自テープで固定して作業するなど工夫して安全な作業をお願いします。 写真はマスキングテープで頑張りましたが安全とはいい難しです。)

alt text

ロータリーエンコーダの取り付けが完了したら、メイン基板へ差し込みます。

alt text

  • メイン基板の裏に出ているピンははんだしないことでロータリーエンコーダを後から外し、キースイッチに取り換えることができます。

以上ですべてのはんだ付けが終了です。腰が丸まったと思うので背伸びしておいてください。お疲れ様でした。

なお、この時点で、手順4-4手順5あたりを行い、動作確認をしてしまうと組み立て後の後戻りが少なく楽かもしれません。

4.組み立て

4-1.バッテリーの取り付け

バッテリー用コネクタにバッテリーを差し込みます。
基板の切り欠きから配線を裏に通すようにします。 購入したバッテリと極性(写真のような線の色)が合っているかを確認し取り付けてください。

alt text

4-2.ケースとトッププレートの取り付け

メイン基板の上にケースを乗せます。
この時、ケースのマイコン上部にある穴にリセットボタン用スティックを差し込みます。
このスティックを介してマイコンのリセットボタンを押せるようにしています。

alt text alt text alt text

続いてトッププレートにスペーサをねじ止めします。 親指部分に4mmスペーサを使用します。他は7mmスペーサを使用します。

alt text

そして、ケースの上からトッププレートを乗せます。
トッププレートとメイン基板で挟み込みケースを固定する構造になっています。
トッププレートとメイン基板の間は空洞になっていますが、お好みでポロンシートなど仕込むと打鍵音にいい影響があるかもしれません。

alt text

4-3.ボトムプレートの取り付け

ボトムプレートのくぼみにバッテリーを収納します。
この時バッテリーの裏に両面テープを貼り、ケースへ固定することをお勧めします。

alt text

alt text

また、小さいサイズのバッテリーを使用し、スペースが余る場合はポロンシートなどで隙間を埋めておくと良いかもしれません。 さらに、打鍵音を気にする方は、メイン基板の裏にマスキングテープを張っておくと打鍵音が多少良くなります。

バッテリーを収納することができたら、ケース裏にボトムプレートをはめ込みます。
そして、裏からM2ネジで固定します。

alt text

4-4.トラックボール読み取り基板差し込み

メイン基板のL字コンスルーにトラックボール読み取り基板を差し込みます。

alt text

4-5.トラックボールケース装着

トラックボール読み取り基板を取り付け後、トラックボールケースを上から差し込み、ボトムプレート裏からM1.7ネジで固定します。

alt text

alt text

4-6.電源スイッチキャップ装着

alt text

電源スイッチキャップをスライドスイッチに差し込みます。 緩いと感じる場合はラップの破片など挟むとよい滑り止めになるかもしれません。

電源スイッチのオンオフの向きは初回ロット(9/15booth販売分)のみ写真のような向きになっています。
それ以降は基本的に左右ともに手前がオフ、奥がオンに揃っています。

alt text

以上で組み立て完了です。 あとはお好みでキースイッチ、キーキャップを取り付けてください。 お疲れ様でした!

5.ファームウェアの書込み

5-1.ファームウェア(仮)のダウンロード

(仮)としているのは、いずれキーマップをカスタマイズする際に現状ファームウェア自体を変更し、書込み直す必要があるためです。
(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

5-2.ファームウェア(仮)の書込み

settings_reset-seeeduino_xiao_ble-zmk.uf2はここにあるように分割キーボードのペアリングに関する問題を解決するための設定初期化用のファームウェアです。

  1. PCと左側のマイコンをUSBで接続します。はじめはキーボードの電源はオフで大丈夫です。
  2. マイコンのリセットボタンを2回押すと、「XIAO SENSE」という名前でUSBドライブとして認識されるかと思います。(ブートローダの起動)
  3. 「XIAO SENSE」ドライブにsettings_reset-seeeduino_xiao_ble-zmk.uf2をドラッグアンドドロップします。
  4. 書込み完了すると、「XIAO SENSE」というドライブは消えますが、再度セットボタンを2回押し、ブートローダを起動します。
  5. 「XIAO SENSE」ドライブにroBa_L-seeeduino_xiao_ble-zmk.uf2をドラッグアンドドロップします。
  6. 右側も同様の手順でsettings_reset-seeeduino_xiao_ble-zmk.uf2とroBa_R-seeeduino_xiao_ble-zmk.uf2を順番に書き込みます。
  7. 両方の書込みが完了したら、電源を入れ、それぞれのマイコンのリセットボタンを1回押します。
  8. PCでbluetoothデバイスとして「roBa」が認識され接続できればOKです。

5-3.動作確認

bluetooth接続が完了したらすべてのキーが認識するか、ロータリーエンコーダ、トラックボールが問題なく動作するか確認しましょう。
左右間のペアリングは電源を入れると自動的に行われます。
有線接続でも動作しますが、左右間は無線接続のみになります。
ファームウェア(仮) では以下のような接続方式になっているのでロータリーエンコーダ側はPCに有線接続してもキーボードとして動作しません。

  • ロータリーエンコーダ側(ペリフェラル) ⇔ (無線接続) ⇔ トラックボール側(セントラル) ⇔ (無線or有線接続) ⇔ PC

なお、このファームウェアではデフォルトでオートマウスレイヤーが4、スクロールレイヤーが5となっています。

6.キーマップの編集

冒頭で書いたようにzmk firmwareの編集にはgithubのアカウントが必要です。
一からファームウェアを用意する際の手順は公式ドキュメントの導入解説を見るとわかりやすいです。
以下では、私が作成したリポジトリをフォークし、KeymapEditorを用いてGUIでキーマップを書き換える手順を紹介します。

  1. githubアカウントを作成し、ログインします。
  2. このリポジトリにアクセス
  3. 画面右上の「Fork」をクリック
  4. そのまま「Create fork」をクリック
  5. フォークしたリポジトリの「Actions」タブに移動し、「I understand my workflows, go ahead and enable them」をクリックし、github Actionsを有効化
  6. KeymapEditorにアクセス
  7. 「GitHub」を選択
  8. 「Login with GitHub」からでログインし、「Authorize Keymap Editor」を選択
  9. 指示に従い、フォークしたzmk-config-roBaにKeymap Editorがアクセスできるように進める
  10. Keymap Editor上でキーマップが表示されたら、好きにキーマップを編集する
  11. 画面左上の「Save」を押すと、編集したキーマップが適用されてGitHub Actionsが走り、自動的にビルドが開始します
  12. 「Save」の隣に表示される「Latest」をクリックするとGitHubに移動し、ビルドが完了するとファームウェアがダウンロードできるようになります。
    (ビルドには2~4分かかる場合があります。)
  13. 書込み手順に従い、ファームウェアを書き込みます。
    • キーマップの編集のみの場合はトラックボール側(セントラル)のみを書き換えることで変更が適用されます。
      リセットファームウェアの書込みも基本的には必要ありません。
    • KeymapEditorを用いずにroBa.keymap以外のファイルの内容を書き換えた場合は、左右のファームウェアを書き換えてください。
    • ファームウェアを書き直した際は、PC側のペアリング情報も削除してから再度ペアリングを行ってください。
  14. 無事に変更したキーマップが適用されていれば成功です。

※REMAPやVialには対応していません。

7.トラブルシューティング

bluetoothデバイスとして認識されない or 認識しても接続できない or 接続できたが片側が反応しない

  • zmk firmware公式のトラブルシューティングにあるようにまずはsettings_reset-seeeduino_xiao_ble-zmk.uf2の書込みからやり直すことをお勧めします。
  • (あまりないと思いますが)マイコン自体に問題がないか確認するため、キーボードに接続しない状態マイコン2個で認識、接続できるかも一応試してみてください。

トラックボールが動かない

  • (あまりないと思いますが)ケースが正しく装着できておらずセンサの読み取り部分が隠れてしまっていないか確認してください。
  • トラックボール読み取り基板とセンサのはんだに不良がないか確認してください。
    • はんだに失敗しやり直し不可の場合は、センサとトラックボール読み取り基板のみで保守部品としてboothで販売予定ですのでそちらをご利用ください。
  • settings_reset-seeeduino_xiao_ble-zmk.uf2の書込みからやり直してみることが有効な場合があります。

一部キーが反応しない

  • はんだ不良、ポゴピンの接触不良、ダイオードの向き、キースイッチが正しくソケットに刺さっているかを確認してください。

zmk firmwareについて

このキーボード固有の問題ではなくファームウェアのカスタマイズ等で疑問点がある場合、以下が参考になると思います。

  • 公式ドキュメント
    • かなり丁寧に作りこまれているので基本的な設定はドキュメント見ればわかると思います。
  • zmk firmware Discordサーバ
    • 活発に動いているので質問すると誰かしら回答くれることが多いです。