custom board, flash problem, GPIO2 or GPIO12 preventing flashing

bruchmueller
Posts: 17
Joined: Tue Apr 19, 2022 2:36 pm

custom board, flash problem, GPIO2 or GPIO12 preventing flashing

Postby bruchmueller » Tue Apr 19, 2022 3:35 pm

Dear all,

we have designed our own ESP32 pcb, what worked without problems. In a redesign, we swapped the WROOM module with WROVER to have more PSRAM and Flash, and we needed to change the pinout a bit, because the WROVER have some pins not broken out compared to the WROOM.

The schematic is in fact orientated on the Open Source Olimex Gateway board, uses the CH340T, and the Olimex way of Diode-connecting the ESP32 GPIO-0 und GPIO-2 (see pictures below).

To use GPIO-2, GPIO-12, we added an analog switch on each, with a power-on delay of around 200ms. The idea was, to let the ESP32 read the strapping pin status (pull-up, pull-down), and hoped after 200ms it would be finish.

Long story short: As shown in the schematic, the board start, but can not be flashed. The error message is "MD5 of file does not match data in flash!". When I use a solder bridge of the "delayBoot" trace to GND, the board can be flashed, and after a reset, it run fine from flash.

So only ether GPIO-2 or GPIO-12 can cause this problem. Because GPIO-2 only goes to an extension connector, what is unconnected, only GPIO-12 can cause these problem. It seems that the 200ms are not enough.

Does somebody know, after what time after EN goes high, the strap pins are sampled? Or even better, after how long after EN goes high it is safe to change the level of GPIO-12 of the ESP32?

Thank you for any support.
Attachments
esp32_delayBoot1.png
esp32_delayBoot1.png (15.53 KiB) Viewed 2767 times
esp32_delayBoot2.png
esp32_delayBoot2.png (24.76 KiB) Viewed 2767 times

ESP_Sprite
Posts: 9016
Joined: Thu Nov 26, 2015 4:08 am

Re: custom board, flash problem, GPIO2 or GPIO12 preventing flashing

Postby ESP_Sprite » Wed Apr 20, 2022 1:03 am

It's in the datasheet, page 22.

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

Re: custom board, flash problem, GPIO2 or GPIO12 preventing flashing

Postby WiFive » Wed Apr 20, 2022 7:31 am

Set the efuse to avoid gpio12 problems

bruchmueller
Posts: 17
Joined: Tue Apr 19, 2022 2:36 pm

Re: custom board, flash problem, GPIO2 or GPIO12 preventing flashing

Postby bruchmueller » Mon May 09, 2022 7:48 am

Dear ESP_Sprite and WiFive,

thank your fast answer, and sorry for my late reply. I thought, I would get an email notification, when someone answers to my post, as it is on other forums. But here not. Not a big deal, when I know it. So I will check the forum more often.

I had temporary solved the problem by unsoldering R12, the pullup on GPIO 12. Finally, its not only GPIO12, but also the other strap pins, where I need a solution. I think, I made a mistake to generate the delay switching by feeding the RC network from the Regulator, instead of the EN pin of the ESP32. When I use a supervisor circuit like the MAX809, to monitor the EN pin voltage, then the MAX809 generate a switch signal after 140ms.

According the datasheet, the strap pins are read within 1ms after the EN pin goes over 0.6V. So the 140ms additional delay from the MAX809, monitoring the EN pin, should be plenty, to ensure that the ESP32 has finished to read the strap pins.

Will this work?

Who is online

Users browsing this forum: No registered users and 65 guests