見出し画像

Keyball39 無線化への道 〜ソフトウェア準備編〜

ハードウェアの下調べに続いてソフトウェアの準備をしていたところ, 途中で 1 週間近くハマる事態に… なんとか解決できたためご紹介します.


まずは本作戦の概要を確認する!

ソフトウェア面での準備は大きく 3 段階あります.

Step 1. PC と BLE Micro Pro を有線接続し, BLE Micro Pro Web Configurator 上でブートローダーとアプリケーションをアップデートする
Step 2. Keyball39 用ファームウェアをビルド, 生成した uf2 ファイルを BLE Micro Pro に書き込む
Step 3. bmp-vial-config-generator 上で config.bin を生成, BLE Micro Pro に書き込む

途中複数回ケーブルを抜き差しすることになるため, ケーブル配線を完了させる前に手順の確認がてら一通りやってみることにしました.


先行部隊の後を追え!

Step 1 は BLE Micro Pro 開発者様提供の公式ページにあるそのままの手順でよいものの, Keyball 用ファームウェアは別途用意する必要があります.
今回はこれらの先人の知恵を拝借しました.

丁寧なご説明の通りに進めてみたところ, ひとつの問題にぶち当たります…

DFU モードから戻ってこないだと!?

Step 2 のファームウェア書き込み手順をおさらいしますと,

1. BLE Micro Pro を PC と有線接続し, CLI (Command Line Interface, Mac のターミナル等) から DFU モードに入れるコマンドを送る
or 取付キーボードにリセットボタンがあれば, それを押しながら PC と有線接続する
2. デバイス名が "ble-micro-p" ではなく "BLEMICROPRO" として認識されている (= DFU モードに入っている) ことを確認
3. ビルド済み uf2 ファイルをドラッグ&ドロップ等で "BLEMICROPRO" にコピー
4. BLE Micro Pro を再起動し, 再び "ble-micro-p" として認識されている (DFU モードから抜けている) ことを確認

なのですが, 1度 uf2 ファイルをコピーしてしまうと, BLE Micro Pro は 1 度 DFU モードに行ったっきり戻ってこないのです… 何度ブートローダーからやり直しても, BLE-Hub を参考にファクトリーリセットからやり直しても…


神様 仏様 先人様

度重なるケーブルの抜き差しや書き込みで- BLE Micro Pro のハードウェアを壊してしまったのかと思いつつ, Twitter のコミュニティで発見したこちらの Discord サーバーにて, ついに解決策を見つけられたのでした.

どうやら原因は, 上述の先人が公開されているファームウェアが BLE Micro Pro のブートローダーの v1.3 に非対応だったことのようです. しかも, とある先人の方が v1.3 に対応したファームウェアの git リポジトリを公開してくれていたのです. これが神か…

ありがたくこちらをチェックアウトして同じ手順を実行した結果… ついに我が BLE Micro Pro が DFU モードからの帰還を果たしました! 


こいつ, 動くぞ…!!

先述の先人の記事に戻り, Step 3 も問題なく成功, 右手用 BLE Micro Pro を Keyball39 に取り付け, PC と有線接続すると... トラックボール操作もキー入力も反映!1 週間近くハマっていたため感動もひとしおです.
この興奮が冷めないうちに, 左手側の動作確認作戦も継続しましょう.

前回検討した回路図の通りに配線を試みたところ, ひとまず下記のような形に落ち着きました. ハードウェア準備編に載せた画像は部品実装面から見た視点ですが, 実装時は裏返すことにより左右反転しますのでご注意を.

本当は昇圧回路基板の USB ソケットを取ってしまいたかったのですが, さすがにはんだごて 1 本では無理だったこと, 背面のソケットはんだ付け部分から 5 V 出力と GND を引っ張れたため, BLE Micro Pro 側にカプトンテープを貼って絶縁した上に昇圧回路基板を両面テープで固定する形を取りました.

今回はあくまで動作確認なのでよいですが, 持ち運び等実用性を高めるためには固定方法の変更, 強化する必要がありそうです.

左手側に載せてみた図がこちら. 電源を入れると昇圧回路基板上の LED が光ります.

ケーブルを寝かせてはんだ付けすれば, 高さも USB ソケットの足と変わらない高さに収まります. Keyball39 のキット付属のスペーサーよりも長いもの (M2 15 mm あたり?) を使えばトッププレートでカバー可能かもしれません.

そして右手側を PC と有線接続, 間髪入れずに左手側と電源を入れると... 右手側だけでなく左手側からのキー入力も反映されていることを確認!

続いて iPad とペアリングし... マウスカーソルとキー入力の反映を確認, 作戦成功です!


まとめ

まだ不完全ではありますが, 下記の項目は確認できました.

・単 4 乾電池 + 昇圧回路による BLE Micro Pro への電源供給
・Keyball39 用ファームウェアの書き込みとトラックボールの動作
・左右キーボード同士の通信
・iPad との Bluetooth 接続と入力

右手側も同様に昇圧回路を載せて完全体に…と思いましたが, 持ち運びするには昇圧回路の固定が少し心配なため, 他に手がないか検討してみようと思います…


この記事は半無線化 Keyball39 で書きました.

いいなと思ったら応援しよう!