Reflash USB Bootloader

This page describes, how to reflash the USB bootloader for AVR microcontrollers with USB interface. A reflash might be necessary, if the chip was programmed very often or programming failed. It is also indispensable, if the chip was programmed via ISP and it is desired now, to flash via bootloader and Atmel FLIP.

The bootloader has to be reprogrammed by in-system-programming (ISP). For this reason, an ISP programmer such like Atmel AVRISP mkII or Atmel JTAGICE mkII (or any compatible programmer) is needed. You can use the Atmel AVR Studio and the ISP programming dialogue or any other programming tool (such like AVRDUDE).

You have to use the bootloader file. Choose the corresponding file for your microcontroller, listened in the following table. The EEPROM can be erased, but is not necessary (not used by the bootloader). The table is also listening the Atmel factory default settings of the fuses and lock bits. It is not necessary (but may be recommended), to program your controller in this way. There is only one exception: The high fuses are containing the BOOTSZ bits, which determines the bootloader start address. This bits has to be leaved in the state as the table shows in the corresponding high fuse byte.

  Device Microcontroller Ext. Fuses High Fuses Low Fuses Lock Bits Bootloader File
    AT90USB82         bl_usb82_105.a90
U2DIL AT90USB162 0xF4 0xD9 0x5E 0xEC bl_usb_162v105.a90
    ATMEGA8U2         EBE_1_0_0.hex
U2DIL ATMEGA32U2 0xF4 0xD9 0x5E 0xEC boot_mega32u2_v100.a90
    ATMEGA16U4         bl_usb_16U4.a90
U4DIL ATMEGA32U4 0xF3 0x99 0x5E 0xEC bl_usb_32U4.a90
    AT90USB646/647         64X-usb-boot-1-0-0.a90
U6DIL AT90USB1286/1287 0xF3 0x99 0x5E 0xEC 128X-usb-boot-1-0-1.hex
    ATXMEGA16A4U         atxmega16a4u_..._103.hex
X4DIL ATXMEGA32A4U 0x00 0xBF 0xF3 0xFF atxmega32a4u_..._103.hex
    ATXMEGA64A4U         atxmega64a4u_..._103.hex
X4DIL ATXMEGA128A4U         atxmega128a4u_..._103.hex
    ATXMEGA64A3U         atxmega64a3u_..._103.hex
    ATXMEGA128A3U         atxmega128a3u_..._103.hex
    ATXMEGA192A3U         atxmega192a3u_..._103.hex

X3DIL ATXMEGA256A3U         atxmega256a3u_xxx_103.hex
    ATXMEGA256A3BU         atxmega256a3bu_...103.hex
    ATXMEGA128A1U         atxmega128a1u_..._103.hex
    ATXMEGA64B3U         atxmega64b3_..._103.hex
    ATXMEGA128B3         atxmega128b3_..._103.hex
    ATXMEGA64B1U         atxmega64b1_..._103.hex
    ATXMEGA128B1         atxmega128b1_..._103.hex

The bootloader files, contained in the table, are original files from Atmel. Most of them can't be found on the Atmel homepage. Publication with friendly approval of Atmel Corp.. No warranty!