ESP32C6 Sparkfun Thing Plus board UART confusion

Post deleted

Post deleted

Post deleted

Post deleted

Post deleted

Hi there,

So, where is the confusion? may be better served to head over to the SPrkFun support forum… I don’t think those are seeed studio parts. Unless it’s a generic Arduino Question ?

Also do us a solid and keep them to one thread.

The ESP tool uses are present in each device it pertains too. One just needs to read the WiKi. :+1:

HTH

GL :slight_smile: PJ :v:

My confusion relates to programming of esp32 serial ports. I don’t think what I’m trying to accomplish is specific to the Sparkfun board but it is clearly not related to Seeed Studio products. I mistakenly associated Seed Studio with the esp32 processor line when in fact the cpu’s appear to be made by Espessif.

I tried to delete my post from the Seeed Forum but I cannot.

As always, thanks.

Jim

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

Why GPIO16/17 are the best choice?

  • Not used by SD card
  • Not used by I²C
  • Not used by QSPI flash
  • Not boot pins
  • Both are 5 V-tolerant via level shifters on the board
  • SparkFun routing leaves them clean for user applications

This is why they’ve become the de-facto default in community examples.

1 Like