You know what'd be awesome? Bootloading from a USB stick.

I was just thinking about when I inevitably design some board where I want to be able to push out firmware updates to my end users... specifically, about how requiring them to install drivers and run a batch file to upload firmware the old fashioned way would be a bit unwieldy.

With my current Atmega-based designs I have the user stick a file on an SD card and upload that way. But since I'm going to have a USB port for programming and having the user mess with the SD card that holds other important data more than they need to isn't the best idea, I thought why not use the USB port? But then that issue I just mentioned about how they'd have to install drivers came up.

So then I thought, what about a USB stick? Stick the file on there, plug it into the board, bam.

Anyway just an idea I thought I'd throw out there. And I believe Atmel already has a bootloader which is capable of this, so modifying the code for the Zero shouldn't be too difficult.

I think it could be great in fact. But the SD way may be better because it can be used for other things as well, like self programming embedded system or think like that I guess. Even if the USB stick could work the same way, the SD card is smaller and more easily integrated into embedded system.

If you come up with some working code / technics for the USB way maybe it can be suitable for SD as well with some modifications. :slight_smile:

Atmel does have a bootloader version for the SAM4 family of arms that support USB host. It probably wouldn't be too hard to port to the SAMD family that has USB support.

Here you go !
https://gallery.atmel.com/Products/Details/cd3a2ebd-7b7a-44b8-a2d2-6d0c3d291af4