UF2 is really, REALLY handy.
I work with Adafruit on CircuitPython. We use it on basically every microcontroller device that can possibly support it. The recently announced Raspberry Pi Pico / RP2040 microcontroller have given UF2 a boost by placing a UF2 bootloader directly in the ROM of the microcontroller.
With no additional software to install, you do something as easy as "double click the reset button" or "hold down button while plugging in the USB cable", and then just drag a downloaded file into the drive that appears. Almost everyone can handle this step!
It also works well with integrated environments like Arduino and you can craft "make flash" type rules in any build system.
The usual way, with the bootloader as a "first stage" that loads the real program such as CircuitPython or an Arduino sketch is still susceptible to occasional overwrites by buggy software, so it's occasionally necessary for end-users to resort to other techniques like DFU or SWD reloading of the firmware. That's when you really remember how not great the bad old days were. But RP2040 even avoids that, because there's no way to overwrite the UF2 bootloader!
I work with Adafruit on CircuitPython. We use it on basically every microcontroller device that can possibly support it. The recently announced Raspberry Pi Pico / RP2040 microcontroller have given UF2 a boost by placing a UF2 bootloader directly in the ROM of the microcontroller.
With no additional software to install, you do something as easy as "double click the reset button" or "hold down button while plugging in the USB cable", and then just drag a downloaded file into the drive that appears. Almost everyone can handle this step!
It also works well with integrated environments like Arduino and you can craft "make flash" type rules in any build system.
The usual way, with the bootloader as a "first stage" that loads the real program such as CircuitPython or an Arduino sketch is still susceptible to occasional overwrites by buggy software, so it's occasionally necessary for end-users to resort to other techniques like DFU or SWD reloading of the firmware. That's when you really remember how not great the bad old days were. But RP2040 even avoids that, because there's no way to overwrite the UF2 bootloader!