BLE Micro Pro に古いブートローダを入れる
概要
BLE Micro Pro (以下BMP) に古いブートローダを入れる方法について説明します。BLE Micro Pro Web ConfiguratorをDocker Compose環境で実行します。ローカルPCで実行できるのでブートローダのバージョンを自由に変更できます。
なぜ古いブートローダを入れる必要が?
私はkeyballをBMPで無線化しようとしていました。keyballはBMPに公式にサポートされていないため、ファームウェアを自分でビルドする必要があります。
その場合BMPに入れるファームウェアは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の実行環境を作りました。
使い方
主な作業は以下の通りです。
- Dockerをインストール
- Dockerリポジトリをクローン
git clone https://github.com/Banana-Tachi/bmp_docker
- READMEに沿ってDockerコンテナを作成
- READMEに沿ってBLE Micro Pro Web Configuratorの設定を変更
- READMEに沿ってBLE Micro Pro Web Configuratorを好きなバージョンにチェックアウトして実行
詳しい使い方はGitHubのReadmeをご確認ください。
注意
私がこれを実行したOSはUbuntu 18.04LTSです。Docker Composeの設定を変えればWindowsやMacでも実行できるかもしれません。
あとがき
keyball界隈の話を聞く感じ、バージョンで困っている人が多そうでしたし、自分もその一人でした。その方たちのお力になれれば幸いです。
参考
Dockerfileの作成で参考にさせていただきました。
Discussion