The table below shows you the default UART GPIOs as well as the default logger hardware output.
When declaring a UART you can choose other GPIOs but keep in mind that you can declare max 3 UARTs with an ESP32. If not needed, I will not use the GPIOs used for UART0 because those are the GPIOs used to flash the ESP32 from USB.
| Board | UART0 | UART1 | UART2 | USB_CDC | USB_SERIAL_JTAG | Default logger HW |
|---|---|---|---|---|---|---|
| ESP32 | TX: 1, RX: 3 | TX: 10, RX: 9 | TX: 17, RX: 16 | N/A | N/A | UART0 |
| ESP32-C3 | TX: 21, RX: 20 | Undefined | N/A | N/A | 18/19 | USB_SERIAL_JTAG |
| ESP32-S2 | TX: 43, RX: 44 | TX: 17, RX: 18 | N/A | 19/20 | N/A | USB_CDC |
| ESP32-S3 | TX: 43, RX: 44 | TX: 17, RX: 18 | Undefined | 19/20 | 19/20 | USB_SERIAL_JTAG |
You are using an ESP32-S3, by default the logs are sent to the USB port labeled USB this corresponds to USB_SERIAL_JTAG.
If you want to flash the code and receive the logs on the port labeled UART, the option below allows you to choose the hardware that logger should use.
logger:
hardware_uart: UART0 # UART0 / USB_SERIAL_JTAGCaution
Using wk2168 and canbus (esp32can platform) components together is problematic and creates a boot loop (tested on ESP32-S3).
Using baud_rate: 0 avoids this problem.
By default an ESP32 has 3 UARTs, one of which is used for the logger output. The option below allows you to free the UART used by logger so that you can use it and assign new GPIOs to it.
logger:
baud_rate: 0