CircuitPython 10行プログラミング Step3 (1) 準備
連載の1回目はとてもコンパクトなTrinket M0を、2回目はArduino MEGAと大きさが同じGrand Central M4 Expressを利用しました。3回目はAdafruit Metro M4 Express AirLift (WiFi)を利用します。大きさはArduino UNOと同じです。
●Adafruit Metro M4 Express AirLift (WiFi)のおもなスペック
- CPU 120MHz Cortex M4 ATSAMD51(浮動小数点、DSP、フラッシュ・メモリ512Kバイト、RAM 192Kバイト)
- 外付けEEPROM 2Mバイト
- 動作電圧 3.3V(DCジャック7~9V入力、MicroUSBの5V入力)
- 無線 ESP32-WROOM-32 SPI接続
- アナログ(D-Aコンバータ)出力 A0とA1ピン
●Circuitpythonバージョン5.0.0アルファ5を利用
Circuitpythonの最新版を利用するために、二つのファイルをダウンロードして、インストールします。
STEP1 下記のサイトからこのボードにあったuf2のファイルをダウンロードします。ボード上のリセット・スイッチを素早く2度押しし、ブートローダ・モードになったら、ドライブ名がCIRCUITPYからMETROM4BOOTに変わります。uf2のファイルをそのドライブへドラッグします。
https://github.com/adafruit/circuitpython/releases/tag/5.0.0-alpha.5
metro_m4_airlift_lite-en_US-5.0.0-alpha.5.uf2
STEP2 最新のライブラリlibとexampleをダウンロードします。
https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases
adafruit-circuitpython-bundle-5.x-mpy-20191014.zip
ストレージが2Mバイトしかないので、解凍したファイルのすべてをコピーできません。解凍後libフォルダだけをCIRCUITPYドライブにコピー、exampleはPCにコピーしました。残り352kバイトです。
●ESP32のファームウェアの更新
Wi-Fiの無線通信に用いるESP32-WROOM-32モジュールのファームウェアは、1.3.0以上が必要です。それ以下だと、実行時に更新するようにメッセージが出ます。下記のページの説明に従って更新します。1.5.0になりました。
実際は、https://learn.adafruit.com/upgrading-esp32-firmware/upgrade-an-airlift-all-in-one-boardのページの手順に従います。その時に必要なブートローダはMetro_M4_WiFi_ESP32_Passthru.UF2です。
esptoolを使ったファームウェアの更新が終わったら、マイコン・ボードのブートローラが変更されたので、本来のmetro_m4_airlift_lite-en_US-5.0.0-alpha.5.uf2を書き込みなおします。
作業はWindows10で行いました。Pythonは3.8.0をデフォルトでインストールしました。サポートの終わるPython2.xは削除しています。