Page 1 of 1

Unable to boot (read flash) when connected to custom PCB

Posted: Wed Mar 08, 2017 9:55 pm
by Scalpel78
Hi guys, this might be a hopeless question to answer, but maybe someone has a bright idea.

I've made a custom PCB with a ESP-WROOM-32 on it. Then I've made another PCB (with all my sensors), and connect those two board together using a 60-pin connector.

If I start up my ESP-board when the other PCB is NOT connected, then all is good. But if I connect the two together and then start the ESP32 board I get a whole lot of this:

Code: Select all

ets Jun  8 2016 00:22:57

rst:0x10 (RTCWDT_RTC_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
Falling back to built-in command interpreter.
OK
I know I have some errors in my PCB design, for example I've connected GPIO_10, GPIO_34 and GPIO_39. The first one is to a button, and the last two are for PWM signals. The GPIO_10 has been disconnected (I removed the button) and is just floating. The other two are connected to one side of a transistor for levelshifting. Anyhow.

The error message leads me to believe that the ESP-WROOM-32 is unable to read the SPI-Flash, which I believe is connected to GPIO_6 -> GPIO_11, but none of those are connected to anything, and that's why I'm looking for some guidance. What else could cause the ESP to throw the error above?

Re: Unable to boot (read flash) when connected to custom PCB

Posted: Wed Mar 08, 2017 10:00 pm
by WiFive
Strapping pins, gpio 12?

Re: Unable to boot (read flash) when connected to custom PCB

Posted: Wed Mar 08, 2017 10:22 pm
by Scalpel78
Strapping pins? Do you mean soldering bridges? Or something else?

I'm using GPIO_12 as the SCL for my I2C on the other board. It is pulled high by the I2C pullup resistors. Is GPIO_12 (physical pin 14) not usable?

Re: Unable to boot (read flash) when connected to custom PCB

Posted: Wed Mar 08, 2017 10:28 pm
by WiFive
Gpio12 is strapping pin for flash voltage but can be disabled with efuse. Check pin list document or data sheet section 2.4 and see latest esptool update.

Re: Unable to boot (read flash) when connected to custom PCB

Posted: Wed Mar 08, 2017 10:52 pm
by Scalpel78
Ah, it doesn't say GPIO12, but rather MTDI under the strapping pins section, so I didn't get it before.

So, in my next revision of my board it should avoid using these pins then;

- GPIO0, GPIO2, GPIO5, GPIO12 and GPIO15 (because they are strapping pins)
- GPIO6, GPIO7, GPIO8, GPIO9, GPIO10 and GPIO11 (because they are used by SPI-Flash)
- GPIO34, GPIO35, GPIO36, GPIO37, GPIO38 and GPIO39 (can only be inputs)

Correct?

Re: Unable to boot (read flash) when connected to custom PCB

Posted: Wed Mar 08, 2017 11:33 pm
by WiFive
You don't have to avoid strapping pins necessarily just make sure they will be the right state at boot or disable with efuse.

Re: Unable to boot (read flash) when connected to custom PCB

Posted: Thu Mar 09, 2017 8:31 am
by Scalpel78
Hi,
right now I've got GPIO_12 pulled high by the I2C pullup resistors.

Can you elaborate what you mean about "right state at bootup"? Do you mean via hardware or software? Do you mean I can fix the problem using something like the gpio_pad_select_gpio() method?

I searched the ESP-WROOM-32 datasheet, but couldn't find anything there about 'espupdate' or how to change the 'efuse'. How is that done?

Re: Unable to boot (read flash) when connected to custom PCB

Posted: Thu Mar 09, 2017 1:49 pm
by WiFive
Obviously a pin that needs to be low at boot you can't use with an external pullup, but you could use for something else that won't pull it up at boot.


Efuse read here https://esp32.com/viewtopic.php?f=2&t=1393