ESP32C6 Sparkfun Thing Plus board UART confusion

Hi there,

Ah’ I see and agree, I gave it a quick Parusal and I see this info.
From the hardware overview:

  • The board breaks out 23 GPIO pins on headers. sparkfun.github.io+1
  • The ESP32-C6 supports up to 2 UART channels (with flow control) according to SparkFun’s specs. SparkFun Electronics+1
  • On the board pages I did not find a clearly labeled “RX1” and “TX1” header pin explicitly in the documentation for the Thing Plus – ESP32-C6.
  • On the Thing Plus board, some pins are used for other functions by default (e.g., microSD slot, battery fuel gauge alert, LED, etc.). Make sure the pins you pick are free or you are okay disabling their alternative functions. sparkfun.github.io+1
  • In the Arduino (or PlatformIO) framework for ESP32-C6, you must call the correct HardwareSerial constructor with the correct UART number and pins.

For example:

HardwareSerial MySerial(2);
MySerial.begin(115200, SERIAL_8N1, /*rxPin=*/16, /*txPin=*/17);

Even on Seeed Xiao ESP32’s whenever you want to use another port it’s always a thing to EXPLICITLY define the pins. don’t go by the SS numbers (SilkScreen) i.e D1, D6, etc use GPIO’s you will always be successful :grin:

HTH
Gl :slight_smile: PJ :v:

:star: The ESP32-C6 has:

  • UART0 – used for USB CDC (via internal USB peripheral), not available on external pins
  • UART1 – fully available on GPIOs
  • UART2 – fully available on GPIOs

:backhand_index_pointing_right: Both UART1 and UART2 TX/RX can be mapped to almost any GPIO
(because ESP32-C6 uses the GPIO Matrix just like S3, C3, S2).

The board does NOT dedicate any specific pins to hardware UART.
That means you choose the pins yourself.

Based on SparkFun’s schematic and which pins are free:

UART1 (recommended for general use)

Function GPIO
TX GPIO17
RX GPIO16

If you need a second UART:

UART2 (alternative)

Function GPIO
TX GPIO7
RX GPIO6
1 Like