⌨️

BLE Micro Pro に古いブートローダを入れる

に公開

概要

BLE Micro Pro (以下BMP) に古いブートローダを入れる方法について説明します。BLE Micro Pro Web ConfiguratorをDocker Compose環境で実行します。ローカルPCで実行できるのでブートローダのバージョンを自由に変更できます。

なぜ古いブートローダを入れる必要が?

私はkeyballをBMPで無線化しようとしていました。keyballはBMPに公式にサポートされていないため、ファームウェアを自分でビルドする必要があります。
その場合BMPに入れるファームウェアは3つ

  1. ブートローダー
  2. アプリケーション
  3. uf2ファイル

1と2はBLE Micro Pro Web Configuratorで入れられますが、keyballに入れるブートローダであるble_micro_pro_splitは比較的新しいバージョンしか入れられないようです。
(2025/01/30 現在、ブートローダはble_micro_pro_bootloader_1_3_2 、アプリケーションはble_micro_pro_vial_1_3_3 ble_micro_pro_vial_1_3_6 のみ)

しかしQMKはバージョン互換性が低いです(と私は思いました)。ブートローダとアプリケーションのマイナーバージョン(バージョン名x.y.zのyの数字)が1つ変わるだけで、uf2ファイルの互換性がなくなることもありました。そのためネットの先人たちが作ってくれたuf2ファイルやファームウェアリポジトリを使おうとしても、それがBLE Micro Pro Web Configurator上で選べる比較的新しいバージョンに対応していないと使えない、なんてことがざらにあります。

そこで古いバージョンのブートローダを入れられるようにすれば、もっと先人たちの恩恵にあやかれるのでは?ということで、できるようにしてみました。

やったこと

BLE Micro Pro Web ConfiguratorのソースコードはGitHubで公開されているため、ローカルPCに落としてBLE Micro Pro Web Configuratorのバージョンを変えて実行すれば、好きなバージョンのブートローダが入れられるはずです。

Docker Composeを用いてBLE Micro Pro Web Configuratorの実行環境を作りました。

使い方

主な作業は以下の通りです。

  1. Dockerをインストール
  2. Dockerリポジトリをクローン
    git clone https://github.com/Banana-Tachi/bmp_docker
  3. READMEに沿ってDockerコンテナを作成
  4. READMEに沿ってBLE Micro Pro Web Configuratorの設定を変更
  5. READMEに沿ってBLE Micro Pro Web Configuratorを好きなバージョンにチェックアウトして実行

詳しい使い方はGitHubのReadmeをご確認ください。
https://github.com/Banana-Tachi/bmp_docker

注意

私がこれを実行したOSはUbuntu 18.04LTSです。Docker Composeの設定を変えればWindowsやMacでも実行できるかもしれません。

あとがき

keyball界隈の話を聞く感じ、バージョンで困っている人が多そうでしたし、自分もその一人でした。その方たちのお力になれれば幸いです。

参考

Dockerfileの作成で参考にさせていただきました。
https://qiita.com/uttiy3/items/1b89446e03991c7c2c3d

Discussion