Open1

BLE Micro Pro (自作キーボード無線化キット) のメモ

Hiroyuki KomatsuHiroyuki Komatsu

BLE Micro Pro

BLE Micro Pro (BMP) は Pro Micro を BLE で無線化したもの

https://sekigon-gonnoc.github.io/BLE-Micro-Pro/#/getting_started

やりたいこと

とりあえず手元にある遊舎工房のはんだ付け練習キット (PB: practice board) を無線化してみる

想定している手順

  1. PB の QMK 用 JSON ファイルを用意する
  2. BMP 用の config.bin を作成する
  3. 上記 config.bin を BMP に書き込む
  4. USB 接続での動作の確認
  5. Bluetooh 接続への切り替え、動作の確認
  6. 電池基板の作成
  7. 電池での動作の確認

https://sekigon-gonnoc.github.io/BLE-Micro-Pro/#/about_config_files

1. PB の QMK 用 JSON ファイルを用意する

https://remap-keys.app/catalog/cqoodED95iplWg1Df4eg
https://github.com/yushakobo/qmk_firmware/tree/practice_board/keyboards/yushakobo/practice_board

Remap の FIRMWARE > SOURCE CODE から info.json のある GitHub へ行ける

2. BMP 用の config.bin を作成する

  1. BMP Vial Config Generator を開く
  2. 左の入力ボックスに practice_board の info.json をペーストして Generate ボタンを押す

  1. 中央の Append BMP custom keycodes を押す

  1. Download ...vial.json, config.json, config.bin をダウンロードする

3. 上記 config.bin を BMP に書き込む

手順書ではデバイスがマスストレージと認識されるので、そこに config.bin をコピーするとあるが、macOS Sonoma ではマスストレージとして認識されない

かわりに BLE Micro Pro Web ConfiguratorEdit 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. 電池基板の作成

電池基板のはんだ付けをした

https://shop.yushakobo.jp/products/ble-micro-pro-battery-board
https://github.com/sekigon-gonnoc/BLE-Micro-Pro/tree/master/CoinCellHolder
https://www.eisbahn.jp/yoichiro/2021/03/lunakey_mini_ble.html#gsc.tab=0

部品の向き

  • ダイオードに向きはある
  • (この) コンデンサに向きはない
  • 電池ホルダーの向きは背中合わせに付ける

便利だった道具類

  • ピンセット
  • はんだ吸い取り線
  • テスター
  • スマホカメラのマクロ機能
  • 作業用マット

あるとよかった道具

  • 基板固定用クリップ

悩んだところ

  • スイッチをオンにしてもオフにしても、テスターの電圧が変わらない
    • コンデンサに電荷が溜まっているだけだった。オフの時に抵抗を使って放電したら電圧は下がった

7. 電池での動作の確認

電池基板と本体を取り外し可能にするためにコンスルーで接続する

PB は BMP を想定とは裏返しに装着するため、重ねる場合は電池基板も裏返しに装着することになる。重ねずに変則的な接続をしたが動作は確認できた


アクロバティック電池接続

BMP を PB の裏面から装着すると、電池基板も含めて素直に収めることができる


裏から刺した BMP

コンスルーのピンを一本だけ残して残りは抜き、それで電池基板と BMP を接続する

8. 見つけた課題の解決

macOS では Bluetooth 接続ができない

GitHub Issue や Discord で教えていただいたところ、Windows でのみ Bluetooth 接続が確認できているとのこと。

https://github.com/remap-keys/remap/issues/797

macOS では Bluetooth 接続に追加の権限 (Web Bluetooth API?) が必要なのかも。

BMP のページに Windows でのみの対応について、追記していただく。

https://sekigon-gonnoc.github.io/BLE-Micro-Pro/#/getting_started?id=remapを使う場合usbble接続

参考

BMP Vial Config の画面が黒い (解決)

CSS を変更する Pull Request をマージしていただく。

https://github.com/sekigon-gonnoc/bmp-vial-config-generator/pull/1

BMP Vial Config の「絞り込みテキスト」が空だとキーボードのリストも空

「絞り込みテキスト」が空の場合、すべてのキーボードのリストを表示する Pull Request を出す

https://github.com/sekigon-gonnoc/bmp-vial-config-generator/pull/2

TODO

  • BMP の電池ホルダーをはんだ付けして作成 (DONE)
  • BMP へのシリアル接続
  • PB の QMK 用 JSON ファイルを用意する (DONE)
  • PB 用キーキャップとキースイッチの購入 (DONE)
  • nrfutil の使い方


礎になった HHKB Studio

課題

Ver 1.1 で動作しない (解消)

Ver 1.0 の bootloader_1_0_2_rcvial_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 の画面が黒い (解決)

https://sekigon-gonnoc.github.io/bmp-vial-config-generator/

Chrome の Inspector から index-ff5d5b55.css で定義されている背景色を変更して対処

2024-01-14: CSS を変更する PR をマージしていただいて解決

https://github.com/sekigon-gonnoc/bmp-vial-config-generator/pull/1

リストに一覧が表示されない問題も PR をマージしてもらった

https://github.com/sekigon-gonnoc/bmp-vial-config-generator/pull/2

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 では期待通り動作する

https://twitter.com/yoichiro/status/1363495895942139908
https://scrapbox.io/blackawa/RemapでCould_not_openエラーが出る
https://zenn.dev/miroscular/scraps/6941a9300c8861

NotAllowedError

https://github.com/tomayac/joy-con-webhid/issues/3

Linux の場合は hidraw* のパーミッション変更で回避するらしい

Remap で JSON ファイルをファイルに保存したい

ログインしたらできるのかな?

環境

  • MacBook Pro 2018 (Intel CPU)
  • macOS Sonoma 14.2.1

参考

https://salicylic-acid3.hatenablog.com/entry/BMP-Introduction
https://www.eisbahn.jp/yoichiro/2021/03/lunakey_mini_ble.html#gsc.tab=0
https://togetter.com/li/1495830