I had uploaded code to my Seeed Studio XIAO a couple of times without any problems. At some stage, all further uploads failed. It turned out, that the device now shows up as a ‘USB JTAG/serial debug unit’ with ids VID:PID=303A:1001 instead of the corrects ids, which is rejected by esptool.py as being not a valid Espressif device.
When connecting with the device monitor, it still shows the output of my program, so it is still running, but I cannot flash it with a newer version.
I have tried to boot into download mode by powering on the device with the BOOT button held, but it still shows up with the wrong ids. Has anybody else come across this problem? Is there anything I can try or do I have to treat the device as ‘bricked’?
Have you tried re-writing the bootloader?
@msfujino: Do you mean the process, which is described here:
I haven’t tried this yet, as I am on Linux and that process requires a Windows program.
Luckily I have found a way around this issue: Even the first firmware, that I programmed onto the ESP32 had OTA enabled, so I could successfully flash the chip with a new firmware this way. This does not solve the originial problem, which I still don’t understand, but it provides another way how I can develop my firmware for this device.