Yes, To enter Bootloader mode
Thanks again!
This works for only one of my boards. The others (3 pcs.) fail to get into Bootloader mode (LED is not starting to light up). I can’t believe they are irreversible damaged because they worked before ;-(
It happend after uploading simple Blink code (Arduino IDE)
I have a strong feeling they are ‘stuck’. Any other ideas to get them into bootloader Mode?
Hi everyone, I saw this and it looks identical to the issue I am having with the SAMD chips on Odyssey boards I just received. I thought I would add a link to that topic here. That way if a solution is found for one, it may be applicable to both. Odyssey x86j4105 ubuntu 20.4 no /dev/ttyACM0 and no seeeduino listed under lsusb.
Best,
Cameron
New XIAO. Arduino IDE. Installed Seeed board file. Selected XIAO board. No port visible. Reset, steady orange. Still no board visible. Help!
Can you see the device in the computer device Manager? Is a bad USB data cable ?
No. Cable is good and has complete set of conductors with continuity. Same on Win7 and Win10 machines. Have installed seeed board info and selected xiao. THank you for your reply.
Has anyone solved this situation? Had great hopes for this device as cornerstone to a major project… and now to get a number of them in hand for prototyping… and find that no matter what I do… NOT ONE of them make it to the OS COMM device list… Something seriously amiss with a company that continues to deliver products with such impossible use case documentation and / or lack of support…
I guess my project will be built using full sized I7 motherboards… at least I know I can do IO in that hardware platform…
Reflashing your board could be done by two different methods:
-
Via a USB. To make that work, a USB-aware bootloader must be flashed first to your board - in other words, USB commands are handled by a program that resides on flash which either performs reprogramming, or loads user’s sketch. XIAOs get shipped with a pre-flashed bootloader. If a bootloader gets damaged/reprogrammed for any reason, then there is no way to reflash the board using this method.
-
Via two SWD pins. This method always works, because SWD handling logic is hardwired into the ARM cores. XIAO SWD connectors are located at the bottom of the board as pads. Via SWD, it is possible to reflash any area of the flash memory - a sketch program, or a bootloader. So, you can use SWD to restore a bootloader.
In order to use SWD method, you need another board with an “SWD programmer” firmware on it - it could be a Raspberry PI, an ST-Link, a Blackmagic, a ESP32 - there are plenty of variants:
+------+ +---------------+
| XIAO | --- two SWD wires --- | another board | <--- firmware.hex
+------+ +---------------+
Below are two of them:
- The ST-Link method is described at @msfujino topic How to unbrick a dead XIAO using ST-LINK and OpenOCD
- The ESP32 method is described by me at Upload different bootloader into XIAO
I too, would like to know if anyone has solved the com port problem. I have several Xiao boards that are useless since they won’t reset. Yes, they’re inexpensive but continuing to buy new ones is not a viable solution.
I also have a new problem. the Xiao, keeps changing ports. I connect it and it comes up as Port 8. I upload a sketch and get an error: upload error or port doesn’t exist. I find that the port is now com 9. I change it and upload again and it switches back to 8. After several tries, it seems to work, but it shouldn’t keep changing ports. When I try to upload an update, I have to go through it again.
Any solutions?
This device is CRAP the only way I can flash it is in Bootloader mode.
I know Im late to this party but I was having trouble connecting to my XIAO and I found out what the problem is in my case.
I had bought some JBL headphones that came with a USB C cable so you could charge them. It is orange and flat, I tried to connect to the XIAO with that assuming it was like any other USB C cable.
Turns out some cables are ONLY for charging, this one has no markings to indicate that. I swapped to a round USB C cable and the COM port comes up straight away and everything is working as expected now.
YMMV
I am struggling with this as well.
I am hoping maybe cpq’s idea to use the SWD pins on the underside of the XIAO to program it directly can help.
I have a chip that has become completely unresponsive (lsusb in Linux won’t see it), after it became bricked testing the latest version of bossac to upload firmware to it.
(NOTE: I probably messed up the command line arguments to bossac, without realizing how seriously it could impact the chip beyond the point of recovery with my available hardware).
I need something considerably more reliable than what is officially documented by them if I am to use this industrially. The chip seems really nice, but this really holds it back for me.
I am still trying to bottom this issue out, because I’m not sure its directly the Xiao. I have 6 pc’s onsite all running Arduino IDE V2.1.0. 2 program the Xiao without problems (no need to double-reset) the other 4 program just once then cannot see the usb port properly (USB not recognised from windows)
The below sketch will not print. There is nothing connected to the XIAO except the USB connector.
If I replace “Serial” with “SerialUSB” it won’t compile.
What might I be missing?
I’m starting to think the Seeed XIAO SamD21 is not worth the effort. May just go to the XIAO ESP32-C3 and toss the SamD21’s
I’m using
try unplugging, then holding the boot button in, and plugging it back in… this worked for me.
That is NORMAL operation, The Boot mode com port is Different from the Runtime USB port.
I must select port and device EACH and EVERY time in the IDE for the flow to work properly.
Note: After a succefull programming and reset . It works every time.
Once in a BluMoon it won’t OR if I flash KAKA code A,K,A, Garbage it won’t Auto find the programming USB port and I’ll have to Play a Game by 'Clicking Upload" and pressing reset on the Xiao at the right time and it catches it" Takes a few attempts but has eventually worked (happened a few times) I have over 20 Nrf52840 Sense Xiao’s and 3-4 BLE only Xiao’s
Once a good upload is achieved the problem goes away and subsequent port enumeration, uploads and flash work normal.
HTH
GL PJ
p.s I have removed all ghosted USB ports from Device manager (show Hidden) when installing or Starting IDE on a New or different Windows Machine, YMMV
I’m very impressed with this board so far. I was also having the same issue, getting frustrated, thinking, WHY WON’T THIS UPLOAD!!! Then saw the post below and tried the same cable that comes with Google Coral TPU USB stick, and IT WORKED!!!
Not all USB C cables are the same it turns out. There’s probably a way to check the cable using a USB C female connector on the other end that breaks out the pins. Something like this should work in testing the cables: Adafruit USB Type C Breakout Board - Downstream Connection : ID 4090 : $2.95 : Adafruit Industries, Unique & fun DIY electronics and kits
If that doesn’t work and the reset doesn’t work then I don’t know the answer.
Yes this happened to me the other day… i was cleaning up and threw a USB cable into my box of stuff and it was also a Power Only USB cable… I am going to try to find some red fingernail polish and put on the end of the cable to help not to make that same mistake again
After trying for a while to get the Arduino IDE to recognize my Xiao, I finally remembered having read that power-only USB-C cables can be the cause of this. And, sure enough, a different USB-C cable did the trick! Like you said, @cgwaltney, some red fingernail polish is in order!!!
yep! its worked for me also