はじめに
今更ですが、眠っていた秋月電子のESP-WROOM-02のDIP化キットのファームウェアを最終版(2.1.0.0)にアップデートした際の作業内容に記述します。
環境
- Windows PC (Wondows 10 Home)
- FT231X USBシリアル変換モジュール
- ブレッドボード、ジャンパーケーブル
- 3.3V電源(今回は5VのACアダプタからLDOで作成)
- プルアップ、プルダウン用抵抗(3x 10k, 1k)、リセット回路用コンデンサ(0.1uF)
ソフトウェア
- FLASH_DOWNLOAD_TOOLS(V3.6.3ESPRESSIF社のForumから)
- ESP8266_NONOS_SDK(V3.0.4 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コマンドでバージョンを確認します