I have a Xiao ESP32-C3 that exhibits all of the same symptoms as this case here:
I’ve been updating code for my board over the last few days, and finally messed up by calling rmt_driver_install() twice in my setup function. The ESP32-C3 is now stuck in an infinite boot, abort (crash), and reboot loop. I can see the reboot cycle happening over the serial monitor. When I try to upload code, I always encounter the dreaded A serial exception error occurred: Write timeout
problem. I’ve tried:
1.) Making sure the ESP32-C3 is entering bootloader mode by holding down the boot button while powering on the device. I know I’m doing it right because this has solved my boot issues in the past. A serial exception error occurred: Write timeout
If I don’t hold down the boot button, then I get A fatal error occurred: No serial data received.
2.) Reflashing the bootloader. The write timeout prevents this from happening as well.
> ERROR:Write timeout
> WARNING:Sync fail...
3.) Forcing GPIO2 low. Holding GPIO2 at ground from power-up to code upload doesn’t change anything.
4.) Forcing GPIO2 high. Holding GPIO2 at 3.3V from power-up to code upload doesn’t change anything.
Nothing is connected to GPIO2.
5.) Restarting PC and updating the drivers for ‘USB JTAG/serial debug unit’ in device manager.
Incredible. I thought there was no way it was a driver problem, because I had flashed code dozens of times just minutes before the board went AWOL. Also, I had done the exact steps you described less than 24 hours ago when troubleshooting a similar problem.
But, I did it again right now, and successfully recovered the device. You’re a lifesaver in this forum. Thank you!