dfu-programmer is a multi-platform command-line programmer for Atmel (8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting ISP. Most Atmel devices having a USB port come pre-programmed with the bootloader, and this is a lightweight alternative to Atmel's own FLIP/BatchISP program. This is a mostly Device Firmware Update (DFU) 1.0 compliant user-space application.



dfu-programmer repository moved to GitHub (25 May 2014)

After many years hosted on SourceForge we have taken the decision to migrate the repository to GitHub. We hope users will benefit from the enhanced support for open source collaboration that is offered by GitHub, and that we will benefit from more user input.

You can find the new repository here.

Downloads will continue to be hosted by SourceForge and we hope to have 0.7.0 available soon.

dfu-programmer 0.6.2 released (18 Jul 2013)

This release fixes the default library path to libusb-1.0 and fixes a spurious 'No device present' message for some AVR32 devices.



You can download the source distribution from the project files page. Windows users can download a pre-compiled executable, a set of USB drivers and the HTML help file in a separate zip file from the same page.


Supported Chips

8051 based controllers:

at89c51snd1c, at89c51snd2c, at89c5130, at89c5131, at89c5132

AVR based controllers:

at90usb1287, at90usb1286, at90usb1287-4k, at90usb1286-4k, at90usb647, at90usb646, at90usb162, at90usb82, atmega32u6, atmega32u4, atmega32u2, atmega16u4, atmega16u2, atmega8u2

AVR32 based controllers:

at32uc3a0128, at32uc3a1128, at32uc3a0256, at32uc3a1256, at32uc3a0512, at32uc3a1512, at32uc3a0512es, at32uc3a1512es, at32uc3a364, at32uc3a364s, at32uc3a3128, at32uc3a3128s, at32uc3a3256, at32uc3a3256s, at32uc3a4256s, at32uc3b064, at32uc3b164, at32uc3b0128, at32uc3b1128, at32uc3b0256, at32uc3b1256, at32uc3b0256es, at32uc3b1256es, at32uc3b0512, at32uc3b1512, at32uc3c064, at32uc3c0128, at32uc3c0256, at32uc3c0512, at32uc3c164, at32uc3c1128, at32uc3c1256, at32uc3c1512, at32uc3c264, at32uc3c2128, at32uc3c2256, at32uc3c2512

XMEGA based controllers:

atxmega64a1u, atxmega128a1u, atxmega64a3u, atxmega128a3u, atxmega192a3u, atxmega256a3u, atxmega16a4u, atxmega32a4u, atxmega64a4u, atxmega128a4u, atxmega256a3bu, atxmega64b1, atxmega128b1, atxmega64b3, atxmega128b3, atxmega64c3, atxmega128c3, atxmega256c3, atxmega384c3


Why dfu-programmer?

The need for this tool came about when I needed to flash an at89c51snd1c chip that had the USB bootloader on it, but the Atmel-provided tool (FLIP) didn't support USB flashing in linux.

After a few days of web searching and scrapping together a windows machine to do the job, I found that Atmel provided a document describing the communications protocol used. I happily spent the next week hacking together the start of dfu-programmer.


Contact Information

The mailing list is the preferred communication method.

GitHub logo
SourceForge.net Logo