-
Hi, I have had some problems utilizing Xaio's RX and TX pins on the ESP32C6 board (MicroPython v1.26.0-preview on 2025-06-26).
the connection to the external device should be crossed as usual for UART, but in fact this will prevent USB serial communication with the board. The weird part is it looks like pins are swapped just like in Xiao ESP32C3 per Serial - UART section:
Look at the image where they are connecting Device's TX to Xiao's TX and Device's RX to Xiao's RX. In my case I'm connecting to the HLK-LD2450 radar module; if I define UART1 on other GPIO pins, it works as expected while cross-connected TX -> RX, RX <- TX. import esp
esp.debug(0)
# TX-RX, RX-TX
uart = UART(1, 256000, tx=0, rx=1) Radar's TX connected to GPIO01, RX to GPIO00: import esp
esp.debug(0)
# swapped pin assignment to keep cross connections TX-RX, RX-TX contradictory to Seed's documentation
uart = UART(1, 256000, tx=17, rx=16) but not when using TX (GPIO16) & RX (GPIO17) for UART1 as per Seeed's documentation. import esp
esp.debug(0)
# cross connecting TX-RX, RX-TX crashes USB serial; works if connected TX-TX, RX-RX why?
uart = UART(1, 256000, tx=16, rx=17) What am I missing? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
According to the ESP32-C6 datasheet, GPIO16 is indeed UART0 TXD, and GPIO17 is UART0 RXD. |
Beta Was this translation helpful? Give feedback.
According to the ESP32-C6 datasheet, GPIO16 is indeed UART0 TXD, and GPIO17 is UART0 RXD.
Have you tried another build, perhaps the
M5STACK_NANOC6
(which doesn't haveMICROPY_HW_ENABLE_UART_REPL
defined like theESP32_GENERIC_C6
)?