こんにちは、ぽぽろん研究所です。
今日は以前の秋葉原遠征で購入してきたESP32-S3にcircuit pythonを導入していこうと思います。予想の100倍くらい簡単だったので、手短いに行きたいと思います。
用意したもの
bootloaderとCircuitPythonはCircuitPythonの公式サイトからダウンロードすることができます。こちらのサイトからそれぞれをダウンロードしてください。
ESP32-S3-DevKitC-1-N8 Download
bootloaderは下の方にある「DOWNLOAD BOOTLOADER ZIP」を押してダウンロード、解凍を行います。
CircuitPythonは今回は最新版のstableが7.3.3だったので、これを使用します。「DOWNLOAD .UF2 NOW」をクリックしてUF2ファイルをダンロードしておきます。
まず、USBケーブルでESP32-S3とPCをつなぎます。このとき、microUSB端子はUSBの方を使用して接続しました。
接続したら、BOOTボタンを押しながらRESETボタンを押して書き込み状態に移動します。次はPC上での操作となります。
今回はESP Web Flasherを使用して書き込みます。こちらのサイトをChromeで開いてください。Edgeで試したら失敗しました。
ESP Web Flasher
- ESP Web Flasherを開いたら、右上のボーレートを460800に設定します。
- となりのConnectボタンを押して、接続先を決定します。このときにESP32-S3のデバイスを選択します。私の場合はUSB JTAG/serial debug unitでした。
正常に選択できれば、ファイルの書き込みウィジェットが出てきます。
- まずはEraseを押して、ESP32-S3内を消去します。
- 先程ダウンロードしたbootloaderのZIPファイルを解凍してcombined.binを用意します。
- ESP Web Flasher上のChoose a fileをクリックして、先程用意したcombined.binを選択します。
- 最後にProgramを押して、書き込みが終われば終了です。少し時間がかかります。
CircuitPythonの導入
bootloaderの書き込み終了後、リセットボタンを押すことでブートローダが起動します。正常に起動できれば、USBストレージとしてPC側で認識することができます。S3DKC1BOOTとして認識していると思います。
このストレージに先程ダウンロードしたCircuitPythonのUF2ファイルをコピーします。コピーが完了すると自動でESP32-S3が再起動します。再起動後、USBストレージがCIRCUITPYになっていれば完了です。
CircuitPythonの起動
今回はTera Termを使用してアクセスします。ESP32-S3を接続したら。Tera TermでESP32のCOMポートに接続します。その後、設定→端末から改行コードの受信設定をAUTOにし、設定→シリアルポートからボーレートを115200に設定します。設定が完了したら、ESP32のリセットを押すと入力待ちであることを表示します。ここで、ENTERを押すことで対話型のPythonインターフェースを開くことができます。
今回は対話型での動作までを見ていきました。他にもcode.pyを入れることでスクリプトを実行したりもできます。その辺はまた今度。
それにしても、ESP32の書き込みがブラウザ上でできるのは驚きました。完全に浦島気分です。そもそもブラウザでCOMポートって使えたんですね。どうやら調べてみると2017年頃に正式に使えるようになったとこなんとか書いてありました。5年前にはすでにあったんですね。ブラウザの万能感がまた一段上がった気がします。
それでは、また次回。