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になりました。

  Updating ESP32 Firmware

 実際は、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は削除しています。