I've had this problem on two Metro express boards. I'm running IDE on Windows 10, I connect the metro via USB everything is working fine. Then after a couple of days when I connect the Metro board I do not see the COM port and I'm not able to load code on the board any longer.
I'm totally not familiar with your board (and more specifically its bootloader).
The only question that I have is if you're using te same cable when it fails. MicroUSB cables come in two flavours, charge-only and data; if you're using a charge-only cable, your board will not be recognised,
Yes very familiar with the charge only cables (I've thrown any of them out that I find). The cable was working and I was able to connect to the Metro. I found a thread that gave me a suggestion that worked.
Enable verbose loading under Preferences
Then bring up Example -> Blink
Make sure that you have the correct Metro board selected "Adafruit Metro M0 Express (SAMD21)"
then upload this program. Watch the panel below, you will see it start to list COM ports, when this happens double click the Express reset button.
As soon as I did this my Windows 10 machine gave the audio sound for a new device, and I now see the Express COM port available
That would indicate that your code has a serious bug. Part of the code that you upload on boards with native USB handles the USB communication. If you have a flaw in your code, you can overwrite variables used by that specific part of the code. Sometimes the symptom is that the board is not detected, sometimes that it is detected but does not react on the software reset command (you should see something in the line of "forcing reset" in the verbose output before the PORTS lines appear).
Glad that you got it sorted.
I disagree strongly. The code is very very simple just a Serial.println. This is a known issue with the Metro board, that is coveredin the Metro problems guide. It's very easy to resolve once you know the process. That exact same code was loaded and ranfine.
OK, let me rephrase, there is a bug in the uploaded code
Out of curiosity, do you have a link? Does it name a root cause?
Is it easy to get your board recognised again or is it easy to prevent it from happening?
Again I totally disagree. There is not bug in the code, the code is very simple. Everything was working fine then all of the sudden I couldn't load code on the metro.
Seems like this is not an uncommon problem with Metro Express. Never had this problem with Uno, Mega etc. You need to install board support for the Metro, the
way it loads code is different than AVR boards.
I said I had resolved the problem in a earlier post and provided details. I've included
a thread on this and other common problems with Metro Express boards.
When I rephrased, I did not say that it was your code; the uploaded code is more than just your code. Although I still think it's your code.
You can now upload, yes. But if you upload the same code again I suspect that the problem is back?
Thanks for that; "Ack! I "did something" and now when I plug in the Metro, it doesn't show up as a device anymore so I cant upload to it or fix it..." is common for boards with native USB if the uploaded code is buggy. I was hoping that you found something that was specific for your board and a root cause.
So the below causes the problem as well?
void setup()
{
Serial.begin(115200);
while(!Serial);
Serial.println("Hello world");
}
void loop()
{
}
If not, I suggest that you show the code that causes the behaviour. Somebody might be able to reproduce the problem or analyse your code.
I don't want to know it better but I have a reasonable experience with 32U4 based boards and hence I'm a little critical.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.