Flash failure on ESP32-WROOM-32 module

ashare
Posts: 10
Joined: Fri Jun 22, 2018 4:33 pm

Flash failure on ESP32-WROOM-32 module

Postby ashare » Tue Nov 09, 2021 10:13 am

Hi,

We have manufactured over 2000 pieces of a PCB containing the ESP32-WROOM-32 module. We have been receiving reports of failures in the field where the status LED on the boards are stuck in the state where the board attempts to boot. Under normal booting conditions, this LED state is quickly surpassed by a certain LED pattern programmed on it. I got hold of 3 of the faulty boards and tried to investigate further. I connected a serial cable to see the log. The error message suggests that the SoC is unable to read the flash chip (4 MB) inside the module.

Code: Select all

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun  8 2016 00:22:57

I understand that the above error can appear if the GPIO12 pin is pulled up at boot since the ESP32-WROOM-32 module expects the flash chip's VDD to be at 3.3V. I ensured that this pin was pulled down by shorting it to GND. The error did not disappear even with that. I decided to dig further and removed the module from the PCB, followed by the metallic shield of the module. I de-soldered the flash chip from the module after which I re-soldered the module on the PCB with the intention of replacing the flash chip from a working PCB. Out of curiosity, I placed the original flash chip (without soldering, just touching) on the pads and powered the PCB, it booted successfully. I quickly re-soldered the original flash chip and the board worked fine. I took one more of the faulty PCB and checked the serial log. It showed the same error message. This time, I did not remove the chip, instead, just kept the board inside a reflow oven and cycled the board through a reflow process. Again, the board booted successfully. Out of the 3 faulty boards, all 3 booted without issues after going through the reflow cycle, but only 1 of the 3 boards had some section of the flash corrupted because of which some configuration settings had to be entered again. This flash corruption is similar to what we observed in some of our devices in field and which has been reported here. I am sure that one would quickly dismiss this as an issue with poor soldering, however, I suspect that it is an issue with the flash chip which might have 'gotten fixed' due to a thermal cycle. If it is indeed poor soldering, it could be at two possible locations - inside the module or between module (or associated passives) and the PCB. To confirm my hypothesis, I need someone in the forum to point me to other scenarios when the above error message can appear on the serial console. If such an error message cannot occur due to other factors, then this issue needs to arise from inside the module, flash chip to be precise. Below is a screenshot of the serial console after that issue was fixed.

Image
Attachments
putty_screenshot.PNG
putty_screenshot.PNG (89.05 KiB) Viewed 3823 times

WiFive
Posts: 3529
Joined: Tue Dec 01, 2015 7:35 am

Re: Flash failure on ESP32-WROOM-32 module

Postby WiFive » Tue Nov 09, 2021 6:20 pm

So even after the fix it took 4 boots for the flash to be readable? Did you test for any shorts to adjacent pins via whiskers?

ashare
Posts: 10
Joined: Fri Jun 22, 2018 4:33 pm

Re: Flash failure on ESP32-WROOM-32 module

Postby ashare » Wed Nov 10, 2021 3:12 am

WiFive wrote:
Tue Nov 09, 2021 6:20 pm
So even after the fix it took 4 boots for the flash to be readable? Did you test for any shorts to adjacent pins via whiskers?
No, the result was immediate. Sorry for the confusion, just meant to show the transition. What you are seeing in the putty screenshot is the log before and after the fix. I had thoroughly inspected the board under a microscope for shorts.

Who is online

Users browsing this forum: No registered users and 26 guests