旅する医用工学者

医用工学に関するトピックを中心に,臨床工学技士国家試験,第1種ME技術実力検定試験,第2種ME技術実力検定試験に関係する内容についても取り扱います.日々の技術開発や受験勉強や学校の授業の予習・復習にお役立てください.内容の正確性には留意していますが,これを保証するものではありません.

Windows + MicroPythonによるM5Stamp C3U開発環境の構築

Windows + MicroPythonによるM5Stamp C3U開発環境の構築

M5Stamp C3Uとは?

M5Stamp C3UはESP32-C3 RISC-V MCUを搭載した切手サイズのマイコンボードであり、ESP32-C3のUSBシリアル変換機能を利用しているため、直接USB接続するだけでプログラムの書き込みが可能なデバイスだ。

www.switch-science.comしかし、2022年8月現在、M5シリーズの開発環境であるUIFlowに対応していないことから、何かと不便なことが多い。Pythonで開発したいユーザはM5 Atom Liteを購入してUIFlowのPythonエディタを利用するのも一つの選択肢なのだが、残念ながらUI FlowのPythonエディタはPythonのコードを保存することができない。

そこで、UIFlowに頼らずにPythonでの開発環境を整えることとしたのだが、Windows環境では何かと面倒なことが多かった。個人的な備忘も兼ねて、要点をまとめておくことにする。

 

Pythonのインストール

もし、WindowsPythonがインストールされていない場合、Pythonをインストールする。Python本体のあるフォルダにPathを通しておくとともに、必要に応じて適切な環境を構築する。

www.python.org

もし、わかりにくければPython.jpの情報を参考にしてもよい。

www.python.jp

実は、Unix系OSであればさほど大変ではないのだが、WindowsPython環境を構築するのは結構面倒な作業だったりする。うまくいかなければ、Windowsなんて諦めてUnix系OSを導入してしまうのも一つの作戦なのだが、そうするとこの記事の価値がなくなるので、Windows環境上でゴリ押ししてもらいたい。

 

CP201x ドライバのインストール

Pythonの環境が整ったら、USB経由でファームウェアやプログラムを書き込むためのチップ(CP210xシリーズ)のドライバをインストールする。

www.silabs.comSILICON LABSのCP210xドライバのページから"DOWNLOADS"タブへ入り、"Software Downloads"の項目から"CP210x Windows Drivers"を選択し、ダウンロードする。環境によっては、単にリンクをクリックするだけではダウンロードできないこともあるようだ。その場合は、リンクを右クリックしてリンク先を保存するようにすればよい。

CP210x Driverのダウンロード

ZIPファイルを解凍したら、64bit版のWindowsであれば"CP210x VCPInstaller_x64.exe"を、32bit版であれば"CP210x VCPInstaller_x86.exe"をダブルクリックしてドライバをインストールする。

CP210x Driverのインストール

 

ESPTOOLのダウンロード

次はESP32C3のファームウェアの書き込みに必要なツール(ESPTOOL)のダウンロードだ。ESPTOOLはGitHubからダウンロードできる。

github.com上記リンクにアクセスしたら、"Code"メニューをクリックし、"Download ZIP"を選択する。

ESPTOOLをGitHubよりダウンロード

ダウンロードしたZIPファイルを解凍し、その中にある"esptool.py"をPathの通ったフォルダに格納(コピーまたは移動)する。

ダウンロードしたESPTOOL

 

ESP32C3ファームウェアのダウンロード

MycroPython公式サイトより、ESP32C3用のファームウェアをダウンロードする。

micropython.orgいくつかのバージョンが選択できるようになっているが、特段の事情がなければ、Releasesの中から、最新のもの(latest)を選んでおけばよい。

ESP32ファームウェアのダウンロード

ダウンロードしたら、わかりやすいフォルダにでも移動しておこう。これで必要なファイルの準備は完了だ。

 

ESP32C3ファームウェアの書き込み

必要なファイルが揃ったら、いよいよM5Stamp C3Uにファームウェアを書き込むことになる。M5Stamp C3Uの中央部のボタンを押しながら、USBケーブルでPCに接続する。これでM5Stamp C3Uはファームウェアを書き込むモードに入る。

Raspberry Pi  PicoをMicroPython環境で開発した経験のある方ならピンと来たかもしれないが、Raspberry Pi Picoの初回設定時にUF2ファイルを書き込むのと似たような作業だ。)

WindowsキーとRキーを同時に押し、"ファイル名を指定して実行"ウィンドウを出し、"cmd"と入力して"OK"をクリックして、コマンドプロンプトを起動する。(コマンドプロンプトのかわりにWindows PowerShellを利用してもよい)

 

コマンドプロンプトの起動

 

コマンドプロンプトに下記のコマンドを打ち込み、フラッシュの内容を削除する。("COM5"部分はそれぞれの環境に応じて変更)

esptool.py.exe --chip esp32c3 --port COM5 erase_flash

フラッシュの消去

続いて下記のコマンドを打ち込み、ファームウェアを書き込む。("COM5"部分は先のポート名に、"UserName\FilePath"部分はダウンロードしたファームウェアの格納されているフォルダのパス、"esp32c3-20220117-v1.18.bin"部分はダウンロードしたファームウェアのファイル名に変更)

esptool.py.exe --chip esp32c3 --port COM5 --baud 460800 write_flash -z 0x0 "C:\Users\UserName\FilePath\esp32c3-usb-20220618-v1.19.1.bin

ファームウェアの書き込み

書き込みには少し時間がかかるが、成功すれば、"Leaving..."というメッセージに続き、"Hard resetting via RTS pin..."というメッセージが表示される。

ファームウェアの書き込み完了

これでM5Stamp C3U側の準備は完了だ。一度M5Stamp C3UをUSBポートから抜いておこう。

Thonny Python IDEの設定

続いて、開発するWindows PC側の設定に入る。マイコンボードを用いた開発は、IDE統合開発環境)を用いるのが一般的だが、今回はRaspberry Piにプレインストールされていることでもお馴染みのThonnyを使うことにしよう。

thonny.orgThonnyの公式サイトからWindows版をダウンロードして、インストールする。

Thonnyのダウンロード

インストールが完了したら、Thonny Python IDEを起動する。

Thonny

Thonnyを起動したら、"Tools"→"Options"と進み、デバイスを"MirroPython (ESP32)"に、ポートを"USB Serial Device (COM5)"に設定し、"OK"をクリックする。("COM5"部分はそれぞれの環境に応じて変更)

 

ThonnyにESP32を設定

これでWindows + MycroPythonによるM5Stamp C3Uの開発環境の構築は完了だ。

 

Lチカで動作確認

配線

さて、M5Stamp C3Uの準備が整ったところで、動作確認をしてみよう。マイコンボードの動作確認の定番といえば、LEDの自動点滅、いわゆるLチカだ。

とりあえずM5Stamp C3Uの3番ピンに330Ω程度の抵抗器とLEDのアノードを直列に接続する。続いて、LEDのカソードをM5Stamp C3UのGND端子に接続する。

 

ブレッドボードの配線例

コーディング・書き込み

配線が完了したら、M5Stamp C3UをUSBケーブルでWindows PCに接続し、下記のコードを入力(もしくはCopy & Paste)する。

import machine
import time
led = machine.Pin(3, machine.Pin.OUT)
while True:
    led.value(1)
    time.sleep(1)
    led.value(0)
    time.sleep(1)

"while True:"以降は最後まで行頭に同じレベルのインデントを入れるのを忘れないように。

ThonnyでLチカのコーディング

入力し終えたら、ファイルをM5Stamp C3Uに書き込もう。

"File"→"Save as"とクリックし、"MicroPython device"を選択する。

 

M5Stamp C3Uに書き込み

"main.py"というファイル名を指定して保存する。

M5Stamp C3Uに書き込み

保存した後、F5キーを押すか、"Run current script"をクリックすれば書き込んだプログラムが動き出し、1秒間隔でLEDが点灯と消灯を繰り返すはずだ。

M5Stamp C3UでLチカ

これでひとまず、M5Stamp C3UをWindows + MycroPython環境で開発する環境が整った。あとは楽しく遊ぶこととしよう。