XIAO samd21 not uploading

OS WIndows 10
Arduino IDE 2.3.2
The board is powered up with the green LED on continuously and the yellow LED flashing about once per second.
I am trying to get the board to accept any upload. I am trying the Hello World example just to see if it will upload. I added the json file to my preferences. I am able to select the correct board and COM port (COM7 in my system).

I am able to read the board info:
BN: Seeeduino XIAO
VID: 0x2886
PID: 0x802F
SN: 5080E6355154315432202020FF111E27
I have tried another known good USB C cable.
I am not certain but perhaps my bootloader is corrupt?
I understand it is possible to upload a boot loader using the pads on the bottom of the board, but do no know where to get the bootloader code. I do have other ESP8266 and ESP32 boards available if needed to upload the bootloader. When I compile the sketch I get the following, and then it says “Uploading” but never actually connects to the board.
Output window:

FQBN: Seeeduino:samd:seeed_XIAO_m0
Using board ‘seeed_XIAO_m0’ from platform in folder: C:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5
Using core ‘arduino’ from platform in folder: C:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5

Detecting libraries used…
C:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\arm-none-eabi-gcc\7-2017q4/bin/arm-none-eabi-g++ -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++14 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -D__SKETCH_NAME__=""“hello_world_XIAO.ino”"" -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10607 -DARDUINO_SEEED_XIAO_M0 -DARDUINO_ARCH_SAMD -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 -DUSB_MANUFACTURER=“Seeed” -DUSB_PRODUCT=“Seeed XIAO M0” -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5/libraries/Adafruit_TinyUSB_Arduino/src/arduino -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 -DUSB_MANUFACTURER=“Seeed” -DUSB_PRODUCT=“Seeed XIAO M0” -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5/libraries/Adafruit_TinyUSB_Arduino/src/arduino -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\CMSIS\5.7.0/CMSIS/Core/Include/ -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\CMSIS\5.7.0/CMSIS/DSP/Include/ -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\CMSIS-Atmel\1.2.1/CMSIS-Atmel/CMSIS/Device/ATMEL/ -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5\cores\arduino -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5\variants\XIAO_m0 C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76\sketch\hello_world_XIAO.ino.cpp -o nul
Generating function prototypes…
C:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\arm-none-eabi-gcc\7-2017q4/bin/arm-none-eabi-g++ -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++14 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -D__SKETCH_NAME__=""“hello_world_XIAO.ino”"" -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10607 -DARDUINO_SEEED_XIAO_M0 -DARDUINO_ARCH_SAMD -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 -DUSB_MANUFACTURER=“Seeed” -DUSB_PRODUCT=“Seeed XIAO M0” -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5/libraries/Adafruit_TinyUSB_Arduino/src/arduino -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 -DUSB_MANUFACTURER=“Seeed” -DUSB_PRODUCT=“Seeed XIAO M0” -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5/libraries/Adafruit_TinyUSB_Arduino/src/arduino -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\CMSIS\5.7.0/CMSIS/Core/Include/ -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\CMSIS\5.7.0/CMSIS/DSP/Include/ -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\CMSIS-Atmel\1.2.1/CMSIS-Atmel/CMSIS/Device/ATMEL/ -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5\cores\arduino -IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5\variants\XIAO_m0 C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76\sketch\hello_world_XIAO.ino.cpp -o C:\Users\bbutc\AppData\Local\Temp\4123111094\sketch_merged.cpp
C:\Users\bbutc\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c+±kinds=svpf --fields=KSTtzns --line-directives C:\Users\bbutc\AppData\Local\Temp\4123111094\sketch_merged.cpp
Compiling sketch…
“C:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\arm-none-eabi-gcc\7-2017q4/bin/arm-none-eabi-g++” -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++14 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD “-D__SKETCH_NAME__=”"“hello_world_XIAO.ino”""" -DF_CPU=48000000L -DARDUINO=10607 -DARDUINO_SEEED_XIAO_M0 -DARDUINO_ARCH_SAMD -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 “-DUSB_MANUFACTURER=“Seeed”” "-DUSB_PRODUCT=“Seeed XIAO M0"” “-IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5/libraries/Adafruit_TinyUSB_Arduino/src/arduino” -DARDUINO_SAMD_ZERO -D__SAMD21__ -D__SAMD21G18A__ -DARM_MATH_CM0PLUS -DSEEED_XIAO_M0 -DUSB_VID=0x2886 -DUSB_PID=0x802F -DUSBCON -DUSB_CONFIG_POWER=100 “-DUSB_MANUFACTURER=“Seeed”” "-DUSB_PRODUCT=“Seeed XIAO M0"” “-IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5/libraries/Adafruit_TinyUSB_Arduino/src/arduino” “-IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\CMSIS\5.7.0/CMSIS/Core/Include/” “-IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\CMSIS\5.7.0/CMSIS/DSP/Include/” “-IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\CMSIS-Atmel\1.2.1/CMSIS-Atmel/CMSIS/Device/ATMEL/” “-IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5\cores\arduino” “-IC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5\variants\XIAO_m0” “C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76\sketch\hello_world_XIAO.ino.cpp” -o “C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76\sketch\hello_world_XIAO.ino.cpp.o”
Compiling libraries…
Compiling core…
Using previously compiled file: C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76\core\variant.cpp.o
Using precompiled core: C:\Users\bbutc\AppData\Local\Temp\arduino\cores\aa1f4e86cb7642c18b892abaaacdbab5\core.a
Linking everything together…
“C:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\arm-none-eabi-gcc\7-2017q4/bin/arm-none-eabi-g++” “-LC:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76” -Os -Wl,–gc-sections -save-temps “-TC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5\variants\XIAO_m0/linker_scripts/gcc/flash_with_bootloader.ld” “-Wl,-Map,C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76/hello_world_XIAO.ino.map” --specs=nano.specs --specs=nosys.specs -mcpu=cortex-m0plus -mthumb -Wl,–cref -Wl,–check-sections -Wl,–gc-sections -Wl,–unresolved-symbols=report-all -Wl,–warn-common -Wl,–warn-section-align -u _printf_float -u _scanf_float -Wl,–wrap,_write -u __wrap__write -o “C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76/hello_world_XIAO.ino.elf” “C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76\sketch\hello_world_XIAO.ino.cpp.o” “C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76\core\variant.cpp.o” -Wl,–start-group “-LC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\CMSIS\5.7.0/CMSIS/DSP/Lib/GCC/” -larm_cortexM0l_math -lm “-LC:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5\variants\XIAO_m0” -lm “C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76/…\…\cores\aa1f4e86cb7642c18b892abaaacdbab5\core.a” -Wl,–end-group
“C:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\arm-none-eabi-gcc\7-2017q4/bin/arm-none-eabi-objcopy” -O binary “C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76/hello_world_XIAO.ino.elf” “C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76/hello_world_XIAO.ino.bin”
“C:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\arm-none-eabi-gcc\7-2017q4/bin/arm-none-eabi-objcopy” -O ihex -R .eeprom “C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76/hello_world_XIAO.ino.elf” “C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76/hello_world_XIAO.ino.hex”
open C:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.5\bootloaders\XIAOM0\bootloader-XIAO_m0-v3.7.0-33-g90ff611-dirty.hex: The system cannot find the file specified.

“C:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\arm-none-eabi-gcc\7-2017q4/bin/arm-none-eabi-size” -A “C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76/hello_world_XIAO.ino.elf”
Sketch uses 34268 bytes (13%) of program storage space. Maximum is 262144 bytes.
Performing 1200-bps touch reset on serial port COM7
Waiting for upload port…
No upload port found, using COM7 as fallback
“C:\Users\bbutc\AppData\Local\Arduino15\packages\Seeeduino\tools\bossac\1.7.0-arduino3/bossac.exe” -i -d --port=COM7 -U true -i -e -w -v “C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\B8566D6A079F3ED2E18DF32466007E76/hello_world_XIAO.ino.bin” -R

CODE:
void setup() {

Serial1.begin(115200);

while (!Serial);

}

void loop() {

Serial1.println("Hello,World");

delay(1000);

}

the problem is serial 1 and while serial… the cose will not execute until you connect the serial monitor… also lower your speed to like 19200 or slower

the blinking you discribed is the mode showing ready for upload…
Double-Tripple check you have Seeeduino XIAO selected WHEN COMPILE and UPLOAD starts

I tried that, as slow as 300 BAUD for serilal monitor and code. Same result, no upload port found, usig COM7 as fallback, then trying to upload forever. I also double checked that SEEEDUINO XIAO is the board selected and the port is COM7 (Seeeduino XIAO). I have also tried using IDE 1.8x with same result.

When selecting a port, is the port labeled “COMx (Seeeduino XIAO)” selected?

yes it is selected and still does not upload

I have also tried several other sketches with same result

Does COM7 appear or disappear in Windows Device Manager when XIAO is connected to or disconnected from a PC?

Yes COM7 disappears when disconnected and re-appears when connected. I have also tried many of the fixes reported on the web, including switching to storage mode and deleting the CURRENT.UF2 file, holding the reset button while plugging the USB cable in, plugging in the USB cable after starting upload, etc.
When I press the reset button twice quickly, COM7 changes from COM7 (Seeduino XIAO) to COM6 (Seeduino XIAO).
If I delete the CURRENT.UF2 file, it is reinstalled automatically whenever reset is pressed or the USB cable is plugged in again.
I have not resorted to trying to install an aftermarket bootloader using another ESP8266 or ESP32 board yet.
I have ordered a Raspberry Pi Pico board and am seriously considering giving up on SEEED products altogether.

Does XIAO ever appear in “Universal Serial Bus controllers or Device” in Device Manager when it cannot be uploaded?

As a last attempt, you might try rewriting the bootloader.
The following link may be helpful.

Hey bro,

had this problem for eternity, let me know if this works for you.

here is what worked for me:

  1. Device Manager

  2. Port (COM & LPT)

  3. USB Serial Device (COMxx) right click

  4. Scan for hardware changes

  5. Update/ Install ( wch.cn - Ports - 3.8.2023.2 )