
MicroPythonでマイコンを動かすには、書いたプログラムをボードへ送る手段が要る。USBでつなぐかWi-Fiに参加させるかが普通で、iPadだけで完結させるのは難しい。Soggy_Woodpecker6502氏が公開した「PyBLE」は、そこをBluetoothで埋める。
iPad側のアプリとボード側のプログラムがBluetoothで直接やり取りする作りで、間にUSBケーブルもWi-Fiもクラウドの利用者登録も挟まない。アプリにはPythonの編集画面と、実行と停止、再起動、動作中の表示を読む画面、ファイル転送が入る。初心者向けの例題と、ブロックを並べて組み立てるBlocklyも備え、組んだ内容から生成されたPythonのコードをその場で見られる。
ボード側は素のMicroPythonでは動かず、専用のファームウェアが要る。同氏は、この境目を予測できる形にするのに手間がかかったと書いている。ボードとアプリが互いにできることを確認し合う手順、転送したファイルが壊れていないか検査する仕組み、通信が切れたときに範囲を区切って復旧する処理を作り込んだ。
導入時に1度だけUSBを使う。デスクトップのChromeからブラウザ経由で書き込む手順で、この書き込みで既存のファームウェアとファイルはすべて消える。同氏は事前にボードの内容を退避するよう促す。書き込みを終えたあとは、開発の繰り返しがBluetoothだけで進む。
対応するボードは現時点で2種類に限られる。外部フラッシュを4MiB積みPSRAMを持たない従来型のESP32と、フラッシュ16MiBとOcta PSRAM 8MiBを積むN16R8系のESP32-S3だ。ESP32-C3は計画にあるものの、まだ配布していない。同氏は、S3向けの版がすべてのS3搭載ボードで使えるわけではないとして、メモリー構成の違うボードには書き込まないよう強く注意している。
検証の範囲も自ら区切っている。両方の構成で実機に書き込みを試し、7%の時点でわざと中断して復旧できることまで確かめた。その2点は実機で検証済みのベータ版だとする一方、全体の検証は進行中だと明記する。
ライセンスはMITで、アプリとファームウェア、通信規格の仕様書、試験一式を1つのリポジトリにまとめる。通信規格を変えたときに関係するすべてを一度に更新できるようにするためだという。将来ESP32以外へ広げる際、対応機種を並べた一覧に頼らず必要な条件を満たしたものを対応と見なす方式についても意見を求めている。

