RX & TX Pins Are Not Coupled with the Internal USB, What Are They Used For?
RX & TX are still connected to UART0 during the ESP32 boot-up process and will output (and accept input) during the boot-up process.
Once your code is running, for most boards (FeatherS2, FeatherS3, TinyS2, TinyS3, NanoS3, ProS3), you are free to use them as general IO for other purposes, it's up to you.
Important Constraints
- RX during boot: The pin will be active and changing state as console output transmits to it, so avoid connecting peripherals that could be affected by state changes during boot.
- TX during boot: Don't connect devices that send output during startup, as this could interfere with the ESP32 boot process and prevent it from booting properly.
- Pull resistors: Avoid adding external pull-up or pull-down resistors on these pins, as they could interfere with boot-up states.
TinyPICO Nano Exception
On the TinyPICO Nano, RX/TX are tied to the SerialUART chip and cannot be used for other purposes even after boot-up is complete. They are exposed specifically to allow reading UART0 serial output on boards without USB connections.
Last Updated: September 3, 2024