Understanding the ESP32 SPI flash pin limitations

Hello everyone, there are warnings that GPIO 6-11 are tied to the integrated SPI flash, and should therefore be avoided. However, I have trouble finding information as to what that means in practical terms.

Is there an intended use for the pins that I should focus on?
Is it that the pins are in use if a certain feature is in use?
If neither of those, what kind of issues could using the pins create?

Thank you!

You already said it. They interface the MCU to the flash memory. The MCU loads firmware from the flash, into its internal RAM.

If there are official warnings, read and heed them. You didn't say where you read these warnings... if you can provide links, we can provide commentary.

Practical advice also depends on knowing which exact ESP32 you have.

Sure thing, the warning is quite clear "SPI0/1: GPIO6-11 and GPIO16-17 are usually connected to the SPI flash and PSRAM integrated on the module and therefore should not be used for other purposes." GPIO & RTC GPIO - ESP32 - — ESP-IDF Programming Guide latest documentation

But I'd like to better understand why. Is this on dev boards? On the bare IC? On the WROOM boards? All of the above? And if it's for when it loads into internal ram, does that mean that if there are no pull-ups / pull downs on boot, that it could be used after the fact for some analogue sensing? If not, whey even expose the pins? If they in no case can ever be used, what is their purpose? Also it says "usually", so when is there or not SPI flash and PSRAM??? It's clear as mud to me and leaves me with so many questions.

It is because the ESP processors don't have any flash memory on chip. Your deeper questions likely won't be answered here, but they are probably detailed somewhere on the Espressif support site.

whey even expose the pins?

Probably for test, and/or factory flashing the firmware.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.