Best bootloader for bare-bones zero clone?

I have a basic ATSAMD21G18 based board (no EDBG, SD card, etc) and want to know which is the best Arduino.cc bootloader to load into it.

There is the standard Zero bootloader but is it built with the EDBG dependency? There are also the MKR bootloaders but do they rely on the SD cards or WiFi add ons?

Or do I need to go for the Arduino.org M0 bootloader (and does it work as well with the Arduino.cc IDE/compiler?

Hi lemming,

I've used the standard Arduino/Genuino Zero bootloader for custom SAMD21G18A and SAMD21J18A boards without any issues. I've found it to be really reliable and if there are occasional upload problems, double tapping the reset button to put the board into bootloader mode has always recovered the situation.

There's no EDBG dependency. The Arduino/Genuino bootloader is designed to work with both the native USB port or the serial port (SERCOM5) on port pins PB22 and PB23, (although on my custom boards I've only ever used the native USB port).

The prerequisites are that your board drives the SAMD21G18A with a 32.768kHz crystal, has a reset button and uses a 2x5 way SWD connector. The SWD connector initially allows the bootloader to be burnt using a programmer such as the Atmel ICE. Thereafter the programmer can be removed and sketches uploaded using just the USB port.