Tuesday, May 19, 2020

Solution to esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for package header

I ran into this problem while messing with an ESP-03.

esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for package header

(If you want to read my whole troubleshooting adventure, see this post.)

Arduino version 1.8.12, additional board manager from this URL, esp8266 board package version 2.7.1. AT Commands respond appropriately, so I know UART is working.

Turns out out that GPIO16 on ESP-03 is by default not connected to RST. So the oft-parroted sequence of GPIO0 low, GPIO16 low then high, GPIO0 high didn't work.

Solution!

The brute-force solution for any ESP module is
  1. Remove power
  2. GPIO0 low
  3. Provide power
  4. GPIO0 high
Another solution for ESP-03 is to bridge the jumper near VCC and GPIO14. This connects GPIO16 to RST, allowing external hard reset.
Picture courtesy of nathan.chantrell.net

Why they couldn't have broken out RST to that N/C pin is beyond me, but they didn't ask me. Maybe that's why the ESP-03 has been discontinued.

No comments:

Post a Comment