SAMD21 Mini/Dev Breakout Hookup Guide
If you've used an Arduino Leonardo or SparkFun Pro Micro, you may be familiar with some of the common issues that arise when a USB-based chip also doubles as its own USB-to-Serial converter and programmer. This page lists a few tips, tricks, and work-arounds if an issue is getting in the way of your ATSAMD21 exploring.
Double-Tapping Into the Bootloader
This isn't necessarily troubleshooting, but this is a handy tool for any issues you may encounter. The ATSAMD21's USB bootloader is what allows us to load code over a simple USB interface -- it's a small bit of firmware that lives "beneath" your Arduino sketch. The Arduino IDE should reset your SAMD21 board into bootloader mode milliseconds before it begins uploading new code.
You can manually enter bootloader mode by rapidly double-tapping the reset button. (After hitting the reset button once, you have about half a second to hit it again to enter bootloader mode.)
Earlier versions of the SAMD21 Mini/Dev breakout will indicate that it has entered bootloader mode when the yellow RX LED lights up and remains illuminated. Current versions will indicate that it has entered bootloader mode when the blue LED on pin D13 begins pulsing. The chip will remain in bootloader mode until power cycles or reset is hit again (once).
Dual Serial Ports
One global issue to be aware of is that each SAMD21 Board appears to your computer as two USB devices, and your computer will assign two different port numbers to your SAMD21 Board -- one for the bootloader, the other for the sketch.
When you hit upload, the Arduino IDE will reset your SAMD21 board, then look for a new COM port to enumerate on your computer, which it assumes is the bootloader device. After some time waiting, if it doesn't see a new port appear, Arduino will try sending code to the port you've selected.
If your SAMD21 board is plugged in -- power LED illuminated -- but it isn't appearing in your Arduino port list, first of all, make sure you have the drivers installed (Windows computers only). Then follow these steps to see if you can get the port back:
- Close all Arduino windows. (Don’t forget to save!)
- Unplug SAMD21 Board from your computer.
- Wait a few seconds for the device to be detached.
- Plug SAMD21 Board back in.
- Open Arduino back up, check the Ports menu again.
If a sketch upload is taking longer than usual, or fails entirely, try resetting into the bootloader and uploading directly there. If the SAMD21 is in bootloader mode, you may need to re-select your port -- this time selecting the bootloader port.
Closing the serial monitor before uploading may also make for more reliable uploading.
If resetting the Arduino IDE, or forcing the SAMD21 Board into bootloader mode isn't helping to solve your problem, it may be an issue we haven't encountered yet. Please contact our technical support team, and we'll be happy to help!