Why is flashing the Xiao C6 over UART different from the Espressif C6-DevKitM-1?

I need to flash a custom device with a ESP32 C6 that doesn’t have a USB header, but does have a UART broken out. Flashing that wasn’t working, so I stepped back to dev boards to ensure my toolchain and procedure was correct.

When I hook the RX and TX pins of an ESP Prog board to the RX and TX pins of an ESP32 C6 Xiao, I can flash it exactly as I expect.

However, when I hook the same board up to an Espessif C6-DevKitM-1 or my custom board, it just hangs and fails. I’ve confirmed that I can see serial logs through the FTDI chip, so I’ve got the TX and RX pins hooked up correctly.

Does anyone know what Seeed did differently with the Xiao? Am I missing an option in MenuConfig or something?

Hi there,
So without seeing either the hardware or Software. I would throw a guess that the pins are being manipulated and are seen as strapping pins.?
Are you in BL mode?
The Serial port you are using is the one on the bottom of the Xiao?
HTH
GL :slight_smile: PJ :v:

Apparently the extra USB to Serial chip on the Espressif dev kit was messing with the line; removing that let me flash over the UART pins, and I think that answers my question.

I apparently need to read up more on strapping pins.

Yes, I was in boot loader mode on both boards, and yes, I was using the serial port on the bottom of the Xiao to successfully flash it

1 Like

Are there any hardware flow control settings (e.g., RTS/CTS) that the Xiao uses but the Espressif DevKit doesn’t?

Hi there,
Sounds like fun times…
I’m thinking Bootloader…
then I’m thinking if it’s in arduino , IDE that uses the DTR and Flow control to flag the chip to go to flashing low speed mode. If you watch the IDE look for the bootloader baud rate and subsequent upload.
Are you only using the ESP-Proggy board as a bridge? not as a jtag board interface?
I have both C6 and a DevKitC-1 if that helps so?
HTH
GL :slight_smile: PJ :v:

and I have a ESP proggy as well.