Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By BeeGee
#38178 Used hardware: Adafruit HUZZAH ESP8266
Used software:
Used flash tools:
    Espressif ESP FLASH DOWNLOAD TOOL V2.4
    esptool.py
What happened:
    - Tested my own project (written with Arduino IDE)
    - Used Arduino OTA (device is in difficult accessible location)
    - OTA worked several times
    - OTA failed, device not connecting to WiFi anymore, even after power off/on cycle
    - Removed ESP module, try to reflash over serial port with FDDI cable
    - Still ESP module fail to boot
Found error codes:
On serial monitor (74880 baud) module shows always endless loop of
Code: Select allFatal exception (0):
epc1=0x40211668, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000]

Trial to recover:
a) Reflash module with working code (works on different ESP12 module). ==> fail, same error, only epc1=0x... shows different address
Terminal output:
Code: Select all ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 1264, room 16
tail 0
chksum 0x42
csum 0x42
~ld
Fatal exception (0):
epc1=0x402147a4, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000

b) Reflash module with NodeMCU 0.9.6 ==> fail, same error, only epc1=0x... shows different address
Code: Select all ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 1264, room 16
tail 0
chksum 0x42
csum 0x42
~ld
Fatal exception (0):
epc1=0x402147a4, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000

c) Reflash module with lates AT firmware found on github => fail, same error, only epc1=0x... shows different address
Code: Select all ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 612, room 16
tail 4
chksum 0x12
load 0x3ffe8000, len 788, room 4
tail 0
chksum 0x50
load 0x3ffe8314, len 264, room 8
tail 0
chksum 0x4a
csum 0x4a

2nd boot version : 1.1
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size : 32Mbit
jump to run user1

Fatal exception (0):
epc1=0x40211558, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000

d) Erase complete flash with esptool.py. Reflash module with boot and esp_init_data_default.bin from latest AT firmware (no user1.bin or user2.bin was flashed) ==> no more Fatal Exception
Code: Select all ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 612, room 16
tail 4
chksum 0x12
load 0x3ffe8000, len 788, room 4
tail 0
chksum 0x50
load 0x3ffe8314, len 264, room 8
tail 0
chksum 0x4a
csum 0x4a

2nd boot version : 1.1
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size : 32Mbit
jump to run user1

user code done

Try to eliminate power supply problem
Tried 4 different power supplies (Adafruit Huzzah ESP8266 has onboard power regulator, input voltage range 3.3V to 16V) and 3 different Adafruit Huzzah ESP8266 modules
    5V USB supply from iPhone, 5V, 1A
    5V USB supply from Samsung Note 10.1, 5V, 2A
    9V wall plug with additional caps (470uF elec. & 100nF ceramic), 9V 1A
    5V from LM317 build power supply, 5V 1.5A
=> all the 4 power supplies work fine on the 2 ESP modules without problem
Try to check for flash failure
a) Erase and read back
    - erase complete flash with esptool.py erase_flash
    - read back complete flash with esptool.py read_flash 0 4194304 erased.bin
    - check erased.bin with hex editor ==> complete content is 0xFF
b) Flash and read back
    - erase complete flash with esptool.py erase_flash
    - flash AT firmware with ESP FLASH DOWNLOAD TOOL V2.4
    - used addresses:
  • 0x000000 boot_v1.1.bin
  • 0x001000 user1.bin
  • 0x07c000 esp_init_data_default.bin
  • 0x3fc000 esp_init_data_default.bin
  • 0x07e000 blank.bin
  • 0x3fe000 blank.bin
    - use CombineBin to create combined file target.bin
    - read back complete flash with esptool.py read_flash 0 4194304 at.bin
    - compare at.bin with target.bin ==> complete content is identical
==> seems the flash is working fine

I went to a lot of forums and searched for this problem, but found no recovery solution that worked in my case.
Anybody has an idea what else I can try to recover the module?
User avatar
By BeeGee
#80307
ayx00 wrote:Hi!

I am experiencing the same issue, were you able to solve it? Thanks!

Best regards,

Nope, the module was broken. I talked to Espressif directly. They wanted me to send the module for investigations which would cost me more than just buying a new one.
So my solution was to get a new module instead.

It was never clear what was broken in the module.
User avatar
By lumusislight
#83977 Hi there,

I've the same issue. It looks like the Fatal exception error is happening only when user1.bin code is being executed. There may be something wrong with one of the eFuses perhaps?
Thanks.