My MKR Zero was working fine for 2 days with the IDE 1.8.9. on Ubuntu linux 16.04.
Today however, it behaves strangely.
Upload usually hangs, ending with reset, then sometimes a message "Couldn't find a Board on the selected port. Check that you have the correct port selected."
Sometimes, when I plug it in, it does not appear in the IDE port list.
And other times, the program starts but there is no serial output, or the board stops during execution... The same code works perfetly on UNO, MEGA, Leonardo.
This behavior started today after no problems yesterday. I have only had the board 2 days and it is a genuine Arduino from Arduino.
I have tried:
* all the USB ports
* multiple USB cables,
* double clicking the reset button, single clicking as well;
Further, all my other Arduinos work fine, but none of them are SAMD21, although in the past I was using the Zero with no problems.
I also removed all the .arduino directories from ~ with the hope that there was corruption.
Nothing makes any difference.
Sometimes, but not often, I am able to upload the Blink example program and execute it.
Any help would be great!
Atmel SMART device 0x10010005 found
Device : ATSAMD21G18A
Chip ID : 10010005
Version : v2.0 [Arduino:XYZ] Dec 20 2016 15:36:46
Address : 8192
Pages : 3968
Page Size : 64 bytes
Total Size : 248KB
Planes : 1
Lock Regions : 16
Locked : none
Security : false
Boot Flash : true
BOD : false
BOR : false
Arduino : FAST_CHIP_ERASE
Arduino : FAST_MULTI_PAGE_WRITE
Arduino : CAN_CHECKSUM_MEMORY_BUFFER
done in 0.852 seconds
Write 22008 bytes to flash (344 pages)
[===== ] 18% (64/344 pages)
[=========== ] 37% (128/344 pages)
[================ ] 55% (192/344 pages)
[====================== ] 74% (256/344 pages)
[=========================== ] 93% (320/344 pages)
[==============================] 100% (344/344 pages)
done in 0.136 seconds
Verify 22008 bytes of flash with checksum.
done in 0.018 seconds
Couldn't find a Board on the selected port. Check that you have the correct port selected. If it is correct, try pressing the board's reset button after initiating the upload.
Board at /dev/ttyACM0 is not available
The MKR Zero comes with its pins stuck into black foam. This foam is conductive so you must remove it before using the MKR Zero. You should also be careful to avoid using the MKR Zero with its pins resting on a conductive surface or conductive items such as bits of wire or other metal.
Try disconnecting any external circuitry you might have connected to the MKR Zero to see if that was the cause of the issue.
Thanks for the tip!
Indeed that foam has a resistance of around 1M and without it, there seems to be some improvement...
But still, it is hard to understand what to do to get it to be recognized as a /dev/ACMx and then to upload each time...
I am now at around 1/3 success rate.
Is there a reason why this particular board is so finicky?