ESP32にATコマンドファームを焼くとリブートを繰り返した原因


ESP32-WROOM32にATコマンドファームを焼くとリブートを繰り返した

ATファームを焼くとリブートを繰り返した

ESP32-WROOM32にATファーム(Ver1.12)の書き込みに成功後、ESP32の電源を抜き差しして再起動した。
ESP32のUART0に、次のログを出力後、リセットがかかり再起動を繰り返した。

UART0
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
ets Jun  8 2016 00:22:57
  ……省略……
I (539) boot: Loaded app from partition at offset 0x100000
I (539) boot: Disabling RNG early entropy source...

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
ets Jun  8 2016 00:22:57
  ……省略……
I (539) boot: Loaded app from partition at offset 0x100000
I (539) boot: Disabling RNG early entropy source...

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
ets Jun  8 2016 00:22:57

環境、動作確認

図のようにstm32vldiscoveryの3.3vPINからESP32の電源を供給した。
stm32vldiscoveryにはファームを焼いていてプログラムが動作していた。

ESP32のUART0とPCを接続した。コンソールから出荷時書き込み済みのSSCコマンドを実行して、Wifi-APに接続出来るのを確認した。
回路的に問題ないと判断した。

UART0
sta -S
+SCAN:ASUS-XXXXXX,aa:xx:yy:zz:xx:xx,4,2,-56,0,0
  ……

sta -C -s ssid -p password

同じ回路でATファームの焼き込みをして、エラーなく「Finished」が表示されるのを確認した。
電源を抜き差しして再起動するとリブートを繰り返した。

原因と対処

ESP32のDIP化キットの説明書に次の注意事項があった。

USB2.0までの500mA出力や1AのUSB充電アダプタを定電圧ICで3.3Vに変換して供給に利用した場合、電流不足になる可能性があります。

ARMの評価ボードから電源を取っていたので、ESP32とARMマイコンの両方に電流を供給して不足してるかも?と思い、電源を変えてみた。
するとリブートせずESP32が安定起動した。
ファームサイズの違いによる消費電流の違いにビックリした。。。

参考文献

共立電子 ESP-WROOM-32 ブレッドボード用変換基板 説明書(PDF)