// the find
dfu-programmer/dfu-programmer
dfu-programmer is a Device Firmware Update based USB programmer for Atmel chips with a USB bootloader
A C command-line tool that flashes Atmel AVR, AVR32, XMEGA and 8051 microcontrollers, plus experimental STM32F4 parts, over USB through a bootloader that speaks the DFU class. It is for people who need to flash these chips from Linux or macOS, where Atmel's FLIP tool can't flash over USB, and who don't want to rely on a generic DFU loader that doesn't handle Atmel's protocol.
The supported-chip list is grouped by family and spelled out part by part, so you can check your MCU before you build anything. The README also covers the Linux case that FLIP leaves open, with a plain autotools build that installs bash completion during make. The Windows section is candid about drivers: WinUSB works out of the box, libusb-win32 and Zadig are named as alternatives, and it says plainly that USB Serial (CDC) is the one driver that won't work. The hardware tests run on a dedicated Raspberry Pi self-hosted runner, which is the right way to test a flasher, since mocked USB stacks won't catch protocol mistakes.
The last push was 2024-01-20, so the project has gone more than two years without a commit as of today. Check the open issues and whether the STM32 code is still maintained before you depend on it. The build is autotools all the way down: bootstrap.sh needs autoconf, and Windows means MinGW/MSYS with hand-installed libusb packages, with no CMake or pkg-config route described. The integration tests need the physical Pi runner, and the README doesn't say what a contributor without that hardware should run instead. The STM32F4 support is labelled experimental, but the README gives no indication of what works or what has been tested.