Bluetooth

micro:bit V1

BBC micro:bit は Bluetooth Low Energy (BLE)デバイスとして動作できるハードウェアを備えていますが、RAM は 16 KBしかありません。BLE スタックだけで 12k のRAMが必要になります。つまり、MicroPython が Bluetooth をサポートするには micro:bit V1 に十分なメモリがありません。

注釈

MicroPython は、無線ハードウェアの利用に radio モジュールを提供しています。このモジュールを使えば、micro:bit デバイスで単純で効果的な無線ネットワークを作れます。

さらに、この radio モジュールで使用されているプロトコルは、BLE よりもはるかに単純であり、教育で使うのも容易です。

micro:bit V2

micro:bit V2 で使われている nRF52833 は 128k の RAM を持ち、Micropython で BLE スタックを利用できます。現在のところ実現されている機能は BLE 転送のみで、ユーザーは Bluetooth 経由で micro:bit のファームウェアをアップデートできます。

これを書いている時点では Nordic DFU サービス が実装されており、部分転送もベータ版ながら機能しています。Nordic DFU サービスは転送時にすべてを更新し、完了するまでに(比較的)長い時間を要するのに対し、部分転送サービスはユーザースクリプトを含むファイルシステムを更新するだけです。