Page 1 of 1

Question about strapping pin

Posted: Tue Sep 30, 2025 2:59 pm
by Fluffy_Port
Hi,

In my current design I am using an ESP32 WROVER module (ESP-AT firmware) together with an STM32. The UART connection between the STM32 and the ESP32 is implemented on GPIO0 (ATTX) and GPIO4 (ATRX).

The reason for this choice is that in previous designs the ESP32 also handled Ethernet, and according to Espressif’s documentation, GPIO2 and GPIO4 are suggested for UART when Ethernet functionality is required.

Now, during a design review, I was advised not to use GPIO2 for serial communication. My concern is about the strapping function of these pins:

This strapping pin needs a pull down resistor to ground. Butadding this on a UART line could cause constant false readings.

From my understanding, since Espressif documentation suggests using GPIO2/GPIO4 for UART in Ethernet scenarios, and considering the weak internal pull-ups/downs of the ESP32, it should be acceptable to keep this configuration without additional external resistors.

Could you please confirm whether using GPIO0/GPIO4 for UART in ESP-AT firmware is safe, or if this could cause unintended issues due to the strapping pin behavior?

Link to documentation:
https://docs.espressif.com/projects/esp ... cmd-ethpre

Thanks in advance.

Re: Question about strapping pin

Posted: Wed Oct 01, 2025 10:47 am
by Minatel
Hi,

You can use GPIO4 without any concern; however, GPIO0 is a strapping pin, and you need to use it carefully.

GPIO0 is also used for entering download mode (when pulled low during reset), and it may have other special functions (such as being one of the default strapping pins). Using GPIO0 for UART TX or RX is possible, but you should be cautious, as it may interfere with the boot process or firmware flashing if not used correctly.