はじめに
今更ですが、眠っていた秋月電子のESP-WROOM-02のDIP化キットのファームウェアを最終版(2.1.0.0)にアップデートした際の作業内容に記述します。
環境
- Windows PC (Wondows 10 Home)
- [FT231X USBシリアル変換モジュール] (https://akizukidenshi.com/catalog/g/gK-06894/ "FT231X USBシリアル変換モジュール")
- ブレッドボード、ジャンパーケーブル
- 3.3V電源(今回は5VのACアダプタからLDOで作成)
- プルアップ、プルダウン用抵抗(3x 10k, 1k)、リセット回路用コンデンサ(0.1uF)
ソフトウェア
- FLASH_DOWNLOAD_TOOLS(V3.6.3[ESPRESSIF社のForum] (https://www.esp32.com/viewtopic.php?t=60&start=20 "")から)
- ESP8266_NONOS_SDK(V3.0.4 [espressif
/ESP8266_NONOS_SDK] (https://github.com/espressif/ESP8266_NONOS_SDK/releases "espressif
/ESP8266_NONOS_SDK") )
FLASH_DOWNLOAD_TOOLS V3.9.0だとFlashサイズの選択フィールドがなくなっていて、自動選択になったように思えますが、誤ったサイズで書き込まれる模様で、起動できませんでした
配線図
AE-FT231XのRESETはボード上に回路が組まれているので、openで問題ありません
起動モード
ESP-WROOM-02は下記のブートストラップピンで起動モードが決まるようです。
USB Programingが書き込みモード、Flash Bootは通常の起動モードです。
Pin | USB Programing | Flash Boot |
---|---|---|
IO0 | pull-down | pull-up |
IO2 | pull-up | pull-up |
IO15 | pull-down | pull-down |
IO15は10kΩだとpull-downと認識されないようでしたので、1kΩにしてあります。認識結果は、Flash Boot時の起動ログで確認できます
書き込み
- Flash Download Toolを起動し、ESP8266_NONOS_SDKのbinフォルダにあるバイナリと、書き込みアドレスを設定します
- FLASH SIZEは16Mbit-C1を指定します(ネットの投稿では、16Mbitフラッシュと32Mbitフラッシュが混じっているとのことで、私の環境では32Mbitの設定では起動できませんでした)
- COMポートは環境に合わせて設定します
- ESP-WROOM-02に3.3Vを供給し、[スタート]ボタンをクリックします
- FINISHと表示されれば、書き込み終了です
Flashブート
- ESP-WROOM-02のIO0をpull-upし、3.3Vを入れなおします
- Teratermなどで、起動ログを表示します
Teraterm出力
3.Teratermなどのボーレートを、通常の設定115200bpsにします
- ATコマンドでバージョンを確認します
参考リンク
- [ESP8266(ESP-WROOM-02) ファームウェア書き換え] (https://blog.bluedeer.net/archives/109)
- [ESP-WROOM-02 (ESP8266) ファームウェアアップデート] (https://qiita.com/spiderx_jp/items/76346db10606b80a6a07)
- [ESP-WROOM-02のATコマンドを復活させる [ファームウェアをアップデート]] (https://www.petitmonte.com/robot/esp_wroom_02_update_firmware.html)
- [ESP-WROOM-02のFlash ROMが4MBから2MBに] (https://mag.switch-science.com/2017/09/26/esp-wroom-02-flash-rom/)