Strapping Pins explanation
Posted: Mon Jun 04, 2018 7:04 pm
Hi,
In this reference https://cdn.sparkfun.com/datasheets/IoT ... eet_en.pdf at page 16:
Now, I have some peripherals that are connected to one of those pins (GPIO 12 for example). Connecting a specific pin from the peripherals to one of the ESP32 strapping pins (GPIO 12) denies ESP32 from flashing. What should I do in this case? How should I connect those peripherals to those pins so it works well.
In this reference https://cdn.sparkfun.com/datasheets/IoT ... eet_en.pdf at page 16:
As I could understand, those 6 pins (GPIOs 12, 0, 2, 4, 15, 5), should be left floating or pulled up or down during booting and flashing stages. Is my understanding correct?Strapping Pins
ESP32 has 6 strapping pins:
• MTDI/GPIO12: internal pull-down
• GPIO0: internal pull-up
• GPIO2: internal pull-down
• GPIO4: internal pull-down
• MTDO/GPIO15: internal pull-up
• GPIO5: internal pull-up
Software can read the value of these 6 bits from the register ”GPIO_STRAPPING”.
During the chip power-on reset, the latches of the strapping pins sample the voltage level as strapping bits of ”0”
or ”1”, and hold these bits until the chip is powered down or shut down. The strapping bits configure the device
boot mode, the operating voltage of VDD_SDIO and other system initial settings.
Each strapping pin is connected with its internal pull-up/pull-down during the chip reset. Consequently, if a strapping
pin is unconnected or the connected external circuit is high-impendence, the internal weak pull-up/pull-down
will determine the default input level of the strapping pins.
To change the strapping bit values, users can apply the external pull-down/pull-up resistances, or apply the host
MCU’s GPIOs to control the voltage level of these pins when powering on ESP32.
After reset, the strapping pins work as the normal functions pins.
Refer to Table 2 for detailed boot modes configuration by strapping pins.
Now, I have some peripherals that are connected to one of those pins (GPIO 12 for example). Connecting a specific pin from the peripherals to one of the ESP32 strapping pins (GPIO 12) denies ESP32 from flashing. What should I do in this case? How should I connect those peripherals to those pins so it works well.