BLE Micro Pro (自作キーボード無線化キット) のメモ
BLE Micro Pro
BLE Micro Pro (BMP) は Pro Micro を BLE で無線化したもの
やりたいこと
とりあえず手元にある遊舎工房のはんだ付け練習キット (PB: practice board) を無線化してみる
想定している手順
- PB の QMK 用 JSON ファイルを用意する
- BMP 用の config.bin を作成する
- 上記 config.bin を BMP に書き込む
- USB 接続での動作の確認
- Bluetooh 接続への切り替え、動作の確認
- 電池基板の作成
- 電池での動作の確認
1. PB の QMK 用 JSON ファイルを用意する
Remap の FIRMWARE > SOURCE CODE から info.json のある GitHub へ行ける
2. BMP 用の config.bin を作成する
- BMP Vial Config Generator を開く
- 左の入力ボックスに practice_board の info.json をペーストして
Generate
ボタンを押す
- 中央の
Append BMP custom keycodes
を押す
-
Download ...
でvial.json
,config.json
,config.bin
をダウンロードする
3. 上記 config.bin を BMP に書き込む
手順書ではデバイスがマスストレージと認識されるので、そこに config.bin をコピーするとあるが、macOS Sonoma ではマスストレージとして認識されない
かわりに BLE Micro Pro Web Configurator の Edit config
から upload your own
を選択して、ダウンロードした config.bin
(正確には yushakobo_practice_board_single_config.bin
) を選ぶ
うまくいけば Update Succeeded. Go next step
と表示される。
4. USB 接続での動作の確認
入力が二重にされる
一般的な Pro Micro 版では期待通り動作する
→ 「ナビゲーション付きでセットアップ開始」から、キーボードに ble_micro_pro
を選択し、(Ver 1.1 ではなく) Ver 1.0 をインストールすると解決した。
ホールドするとシフトキーが付与される
a
キーをホールド (押し続ける) と "AA" と入力される
"aaaaa...." という連続入力でもなく、"A" 一文字でもない
→こちらも「ナビゲーション付きでセットアップ開始」から、キーボードに ble_micro_pro
を選択し、(Ver 1.1 ではなく) Ver 1.0 をインストールすると解決した。
Remap での表示がずれる
一般的な Pro Micro 版でも表示がずれるので、BMP 固有の問題ではなさそう
5. Bluetooh 接続への切り替え、動作の確認
Layer 1 に AD_WO_L, ADV_ID0, SEL_BLE, SEL_USB へのキーマップを追加
macOS の設定から Bluetooh を開いてから、AD_WO_L を押すとペアリングができる
その後 ADV_ID0 と SEL_BLE を押したら Bluetooth でのキー入力が可能になった。(これらのキーは押さなくてもよいのかもしれない)
Bluetooth 接続時のキーマップの変更
可能なのかの検証をする。Discord の発言からは Remap でならできるはず。
しかし Remap を開いただけでは "Could not open" というエラーになる。
macOS (Sonoma) で問題が起きるが、Windows 10 では期待通り動作するので、次に進む。
6. 電池基板の作成
電池基板のはんだ付けをした
部品の向き
- ダイオードに向きはある
- (この) コンデンサに向きはない
- 電池ホルダーの向きは背中合わせに付ける
便利だった道具類
- ピンセット
- はんだ吸い取り線
- テスター
- スマホカメラのマクロ機能
- 作業用マット
あるとよかった道具
- 基板固定用クリップ
悩んだところ
- スイッチをオンにしてもオフにしても、テスターの電圧が変わらない
- コンデンサに電荷が溜まっているだけだった。オフの時に抵抗を使って放電したら電圧は下がった
7. 電池での動作の確認
電池基板と本体を取り外し可能にするためにコンスルーで接続する
PB は BMP を想定とは裏返しに装着するため、重ねる場合は電池基板も裏返しに装着することになる。重ねずに変則的な接続をしたが動作は確認できた
アクロバティック電池接続
BMP を PB の裏面から装着すると、電池基板も含めて素直に収めることができる
裏から刺した BMP
コンスルーのピンを一本だけ残して残りは抜き、それで電池基板と BMP を接続する
8. 見つけた課題の解決
macOS では Bluetooth 接続ができない
GitHub Issue や Discord で教えていただいたところ、Windows でのみ Bluetooth 接続が確認できているとのこと。
macOS では Bluetooth 接続に追加の権限 (Web Bluetooth API?) が必要なのかも。
BMP のページに Windows でのみの対応について、追記していただく。
参考
BMP Vial Config の画面が黒い (解決)
CSS を変更する Pull Request をマージしていただく。
BMP Vial Config の「絞り込みテキスト」が空だとキーボードのリストも空
「絞り込みテキスト」が空の場合、すべてのキーボードのリストを表示する Pull Request を出す
TODO
- BMP の電池ホルダーをはんだ付けして作成 (DONE)
- BMP へのシリアル接続
- PB の QMK 用 JSON ファイルを用意する (DONE)
- PB 用キーキャップとキースイッチの購入 (DONE)
- nrfutil の使い方
礎になった HHKB Studio
課題
Ver 1.1 で動作しない (解消)
Ver 1.0 の bootloader_1_0_2_rc
と vial_1_0_8
の組み合わせでは動作する
その後、Ver 1.1 でも動作するようになった。理由は不明
Dozen0 では Shift キーが押されたままになる (解消)
yynmt_dozen0
を選択して、Ver 1.1.0 のブートローダーを使うとキーの入力に Shift キーが付与されてしまう。Ver 1.0.2rc だと期待通り動作する。
その後、Ver 1.1 でも動作するようになった。理由は不明
BMP Vial Config の画面が黒い (解決)
Chrome の Inspector から index-ff5d5b55.css
で定義されている背景色を変更して対処
2024-01-14: CSS を変更する PR をマージしていただいて解決
リストに一覧が表示されない問題も PR をマージしてもらった
BMP がマスストレージデバイスとして認識されない
Discord を見ると、macOS Sonoma での問題かもしれない
Disk Utility からデバイスは認識されるが、マウントしようとすると Could not mount “practice_bo”. (com.apple.DiskManagement.disenter error 53249.)
というエラーになる
Remap で Practice board のキーレイアウトがずれて表示される
Remap で Bluetooth での接続時に "Could not open" というエラーになる
macOS (Sonoma) で発生、Windows 10 では期待通り動作する
NotAllowedError
Linux の場合は hidraw*
のパーミッション変更で回避するらしい
Remap で JSON ファイルをファイルに保存したい
ログインしたらできるのかな?
環境
- MacBook Pro 2018 (Intel CPU)
- macOS Sonoma 14.2.1
参考