Page 1 of 1

Strapping pins

Posted: Fri Jan 08, 2021 11:08 am
by ddalmm
Hello

I am using ESP32 in a project. Everything is working fine. However, I am also using an axdl335 accelerometer. It’s x,y,and z are connected to the pins GPIO15, GPIO2, and GPIO0 respectively. The problem is the y values does not make sense at all. I already soldered the components so I can not change it. I did not know that GPIO2 is a strapping pin, and I actually do not understand what is strapping pin exactly. However, in the data sheet it says that strapping pins can be used as a normal pins. How can I do that?

Re: Strapping pins

Posted: Fri Jan 08, 2021 7:56 pm
by amoghjain
Hello,

It took me a while to understand as well!

Strapping pins are pins that aee used by the mcu to set a certain state when powering up. Gpio 0 being an important one. When held high on power esp goes into regular mode and pulls the image from flash, if pulled low ,esp goes into a download ready mode to download and transfer serial data into flash.

Another important reason to leave strapping pins alone unless you are running out of pins is because all these pins whether 0,2, 12 or even 4 output some form of pwm signal during esp bootup that might corrupt your sensors . But if your sensors or circuit has some sort of filters, then you would be good, otherwise it would cause fluctuations.

Additionally, please see attached doc, I got after watching a youtube video and compared with the datasheet, which shows which pins to use and which ones are pre-configured.

Lastly, I personally would highly recomment leaving pin 0 alone, as its a critical pin but can still use 2 and 12 for another functions, especially after bootup.

Re: Strapping pins

Posted: Fri Jan 08, 2021 8:05 pm
by amoghjain
In regards to your original question, how to change the values of bootstrapping pins, I think most safe way would be to

- Burn the Values in the eFuse and when the application runs after bootup/if not into download mode/or any other special designated bootmodes, application will apply the values to the pin you request!

Please note eFuse is a one time write only. Once written changes are permanent, and only some changes can be overwritten specially, by burning more fuses!

But again, I personally have not yet changed values of the bootstrapping pins and do this via PullUp/Pull Down resistors, so would hope to get a second opinion as well!

Re: Strapping pins

Posted: Sat Feb 06, 2021 3:47 pm
by kyrillus
Hello,

I am using a board with a builtin led connected to the GPIO 2 (through a resistor of 2.4kOhm).

In normal mode I can switch off this LED without any problem but as soon as I put the ESP32 in deep sleep mode the LED is powered ON (I have measured voltage on GPIO2 , it is 2.5V).

I found not logical reason, is there a link with strapping pin that behave like that during sleep mode?

Thanks for your help