atomic14 / esp32-s3-pinouts

ESP32-S3 Pinout Quick Guide
Creative Commons Attribution Share Alike 4.0 International
241 stars 19 forks source link

Note that GPIO39 has pull-up enabled at boot #24

Open Vincent-Dalstra opened 4 months ago

Vincent-Dalstra commented 4 months ago

I learned the hard way that GPIO39 has pull-up enabled at boot. Luckily, it can be disabled by burning an eFuse. However, the eFuse has a different name in espefuse.py than in the technical reference manual (https://esp32.com/viewtopic.php?t=32425) so I've included both names.

To be clear, I have used this fix (espefuse.py -p /dev/ttyACM0 burn_efuse HARD_DIS_JTAG) on one of my boards, and verified that GPIO39 would no longer pull-up (and turn on a connected mosfet) at boot.

From the same hardware testing, I can say that both GPIO39 & GPIO40 are pulled-up during download-boot mode, and this continued to happen after burning the eFuse.

As an afterthought, the UART0 pins both start with pull-up enabled. This is easy to overlook, but can important when using them for other functions.

Vincent-Dalstra commented 4 months ago

Real easy to miss that GPIO39 has that pull-up, because it's not on the Consoloidated Pin Overview except as a tiny asterisk next to IE*, which leads (with the benefit of hindsight) to p.12. It's also described on p.489 of the Technical Reference Manual, which is where I first found it.