ESP32へmicropythonをインストールする


はじめに

ESP32へmicropythonをインストールする手順を備忘録的な感じで書きます

なおインストールを行う際に接続するPCのOSはMacであり同様の手順ではWindowsでは動作しない可能性があります.

目次

  1. ESP32をPCへ接続する
  2. esptoolのインストール
  3. micropythonをダウンロード
  4. ESP32を初期化
  5. ESP32へmicropythonをインストール
  6. ESP32へ接続する(確認)

1. ESP32をPCへ接続する

写真のように接続します.

2.esptoolのインストール

macにてターミナルを起動し,下記コマンドを実行

pip install esptool

3.micropythonをダウンロード

https://micropython.org/download/esp32/
こちらからダウンロードする

なおダウンロードするのはFirmware with ESP-IDF v4.xである.
Micropythonはウィークリーで更新を行っているため最新版が異なる可能性がある.執筆時点での最新版かつStable版はGENERIC : esp32-20210418-v1.15.binである.

(unstable版はおそらくバグも含まれていると思われるため個人的にはおすすめしない)

4. ESP32を初期化

下記コマンドを実行

esptool.py --port /dev/tty.usbserial-0001 erase_flash

なお私の場合portが /dev/tty.usbserial-0001であったが,人によりここは違うため, /dev/tty.まで打ってタブキーを押して候補を確認してから実行する

$ esptool.py --port /dev/tty.usbserial-0001 erase_flash
esptool.py v3.0
Serial port /dev/tty.usbserial-0001
Connecting........_____.....___
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: fc:f5:c4:21:0c:dc
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 8.2s
Hard resetting via RTS pin...

⏫実行が成功するとこのようになる

5.ESP32へmicropythonをインストール

下記コマンドを実行

esptool.py --chip esp32 --port /dev/tty.usbserial-0001 write_flash -z 0x1000 /Users/[USERNAME]/Downloads/esp32-20210418-v1.15.bin

先ほどダウンロードしたmicropythonのbinファイルをインストールする.
原則ダウンロードしたファイルはダウンロードフォルダへ配置されるためそこへパスを指定する.
任意にダウンロードフォルダを変更している場合はそちらへ変更する.

esptool.py v3.0
Serial port /dev/tty.usbserial-0001
Connecting........___
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
WARNING: Detected crystal freq 41.01MHz is quite different to normalized freq 40MHz. Unsupported crystal in use?
Crystal is 40MHz
MAC: fc:f5:c4:21:0c:dc
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Compressed 1469216 bytes to 953244...
Wrote 1469216 bytes (953244 compressed) at 0x00001000 in 84.3 seconds (effective 139.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

⏫実行が成功するとこのようになる

6.ESP32へ接続する

下記コマンドを実行

screen /dev/tty.usbserial-0001 115200

スクリプトが下記のように出力されれば成功.

mode:DIO, clock div:2
load:0x3fff0030,len:4
load:0x3fff0034,len:5636
load:0x40078000,len:12696
load:0x40080400,len:4292
entry 0x400806b0
MicroPython v1.15 on 2021-04-18; ESP32 module with ESP32
Type "help()" for more information.
>>>

なおscreenコマンドの終了の仕方は
control + A + K

無事接続できたらインストール成功です.
お疲れ様でした.