Help: A fatal error occurred: No serial data received. Failed uploading: uploading error: exit status 2

Win 11, Arduino IDE 2.1, XIAO ESP32C3

After several hours of successfully loading sketches on my XIAO ESP32C3, I suddenly got this:

Uploading stub…
Running stub…
Stub running…
Changing baud rate to 921600
A fatal error occurred: No serial data received.
Failed uploading: uploading error: exit status 2

I did not touch the R or B buttons. Tried other sketches with the same results.

Replaced board with another and have not had any further problems.

How do I “revive” this board?

Any and all help appreciated.

Have you read the wiki?


Thanks for the rapid response, MSfujino.

I re-read the wiki FAQ’s and other Q’s but nothing seemed appropriate to my situation.

Do I have to re-flash? Could you please be a little more specific as to how I should proceed?

How can I trust a board that failed with no provocation?

Revived and relieved…

Followed Adafruit “manual bootload” instructions here:

Problem solved…


I had the same problem happen when i was trying to get the Round Display to work with demo… I have used this XIAO many times with no problem so it has to have something to do with those libraries

Actually, enter the bootloader can solve the problem

Hi, you can find how to solve this in their documents, not the FAQs:

I followed the above instructions and it worked:

  1. Hold Boot Button down
  2. Plug in USB cable to XIAO ESP32C
  3. Release Boot Button
  4. Upload sketch
  5. Press Reset Button

However, I had to do this with every upload.

  1. Plug in USB cable to XIAO ESP32C
  2. Hold Boot Button down
  3. Press and release the Reset Button
  4. Release the Boot Button

Now the XIAO ESP32C will upload normally.

1 Like

Hi there,
Yes, They seem to getinto a funk mode, However once you get it back, reload a basic known good sketch and bootloader should get you back to UPLOAD without any buttons(except maybe a reset after, now and then) I have found. YMMV :v:
I do require to set the device type and com port each time in Arduino IDE so far only if I send it a bootloop code does it act wacky and I have to use the bootloader button again.
Thats how its working here.
GL :slight_smile: PJ