ESP32(ESP-WROOM-32)開発シールドの作成

市販の開発ボードは安価なものもあり通常は既製品を購入することになると思います。
ボードを自作する理由はいくつか有りますが敢えて挙げると市販のボードはハード的な面ではほとんど手を入れることができない、入れる必要もないといったところでしょうか。工作好きの人ならわかってくれるでしょうか!?

そんな訳で今回はこれまでのESP8266ベースボードを利用してESP32の開発シールドを作成してみたいと思います。

参考サイト ESP-WROOM-32

回路図 esp32(pdf)


回路図はベースボードを利用する上でのesp-wroom-02とesp-wroom-32の関係です。
esp-wroom-32の動作に最低限必要なものは電源と3(EN)のプルアップ。
シリアルモジュールからTXD,RXD信号、DTR,RTS(自動プログラム)
ビルトインLEDとしてIO2.IO16を繋いでいます。
コンデンサは適当に変換基板で。


ESP-WROOM-32とピッチ変換基板はAliで入手しました。安いところ(セール中)で380円位(送料無料)、変換基板は2枚購入して1枚あたり100円位(送料込)
この変換基板コンパクトなところはいいのですがピンレイアウトがわかりにくいのでモジュールのピンアサインに合わせてピンソケットに繋ぎ込んでやります。
使用不可のピン(17〜22)は無視、個人的にはモジュール通りのレイアウトが一番使いやすいと思っています。

変換基板へのはんだ付けは0.8mmのはんだを使ったせいかうまく熱が通る感覚を掴めませんでしたがなんとか付いたようです。次は0.6mmのはんだを用意してチャレンジしようと思います。

ESP-WROOM-32用ミニブレッドボードシールドを作成してみました。ロングのピンヘッダを干渉しない程度にカットしています。

火を入れる前に入念に配線チェックをします。電源ライン、各ピンの接続、隣接ピン同士のショートの有無、OKだったら電源のみ接続して変換基板の電源ピンで電圧チェック。モジュールを差し込んで再度電源を投入します。

確認、バックアップ

$ esptool.py -p /dev/ttyUSB0 -b 921600 chip_id
esptool.py v2.3.1
Connecting....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Chip ID: 0x8930aea44167
Hard resetting via RTS pin...
$ esptool.py -p /dev/ttyUSB0 -b 921600 flash_id
esptool.py v2.3.1
Connecting.....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Manufacturer: c8
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...
$ esptool.py -p /dev/ttyUSB0 -b 921600 read_mac
esptool.py v2.3.1
Connecting....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
MAC: 30:ae:a4:41:67:14
Hard resetting via RTS pin...

ここで”はい、ちょっと待って!”を実行(ファームウェアのバックアップ)
baud 921600では反応が無いですね。(Pi直ポート、ショートケーブルでもダメ)
成功時は即%表示が帰ってきます。baud 460800ではOKでした。

$ esptool.py -p /dev/ttyUSB0 -b 460800 read_flash 0 0x400000 esp32_firmware.bin
esptool.py v2.3.1
Connecting....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
4194304 (100 %)
4194304 (100 %)
Read 4194304 bytes at 0x0 in 100.7 seconds (333.1 kbit/s)...
Hard resetting via RTS pin...

$ ls -l esp32_firmware.bin
-rw-r--r-- 1 pi pi 4194304  6月 21 19:44 esp32_firmware.bin

書き戻しは以下の通りでできると思いますが実行確認はしていません。

$ esptool.py -p /dev/ttyUSB0 -b 460800 write_flash 0 esp32_firmware.bin

次回はRaspberry PiへESP32開発環境をインストールしていきたいと思います。