Do you have a bricked Adafruit SAMD board that won't boot into CircuitPython, or show up as a boot volume? Are you building your own SAMD board and want to flash our UF2-SAMD bootloader onto it?
This guide will cover wiring a J-Link to a SAMD board, flashing the bootloader, and (optionally) installing the latest CircuitPython build.
This process does require extra hardware and some software installation time. It is unfortunate when a microcontroller's firmware is corrupted - it does not happen often. But, rather than buy a new board and have one sitting, this process will get your original board back to 100%.
About the SAMD UF2 Bootloader
You will need to program the Adafruit UF2-SAMD Bootloader onto the affected board. Adafruit SAMD21 (M0) and SAMD51 (M4) boards feature an improved bootloader that makes it easier than ever to flash different code onto the microcontroller. This bootloader makes it easy to switch between Microsoft MakeCode, CircuitPython and Arduino.
Instead of needing drivers or a separate program for flashing (say,
avrdude), one can simply drag a UF2 file onto a removable drive.
To flash the bootloader, you'll need a JTAG/SWD debugger. We suggest the J-Link EDU Mini. This version is smaller (the size of a USB drive) and less expensive than the full-sized J-Link EDU, BUT it is for non-commerical use only.
What does that mean?
Basically, if you're making money (or plan to make money) off your project, you'll need to order the full commercial version, or find a different debugger that suits your needs and budget better. But if you're working on personal, non-commercial projects, such as publishing some open source designs you're not selling yourself, you're good. You don't need to be a student, and you can even be a paid engineer during the week, using this on the weekend for personal non-commercial projects. As long are your intentions are non-commercial, the J-Link EDU is an excellent choice!
If you're a commercial user (not educational/home hobby) - you must use the commercial J-Link Base
The process for using the J-LINK models is identical, only differing in the software you will install for the specific unit on the next page.
You'll also want to get a JTAG to SWD converter board and SWD cable (not needed for the JLink mini), and a SWD breadboard breakout