V-USB Projects


BootloadHID is a USB boot loader for AVR microcontrollers. The uploader tool requires no kernel level driver on Windows and can therefore be run without installing any DLLs.

BootloadHID is a USB boot loader for AVR microcontrollers. It can be used on all AVRs with at least 2 kB of boot loader section, e.g. the popular ATMega8. The firmware is flashed into the upper 2 kB of the flash memory and takes control immediately after reset. If a certain hardware condition is met (this condition can be configured, e.g. a jumper), the boot loader waits for data on the USB interface and loads it into the remaining part of the flash memory. If the condition is not met, control is passed to the loaded firmware.

This boot loader is similar to Thomas Fischl’s avrusbboot, except that it is built on top of the HID device class. This implementation is more user friendly on Windows, since no kernel level drivers need to be installed.

Working with the Boot Loader

The boot loader is quite easy to use. Set the jumper (or whatever condition you have configured) for boot loading on the target hardware, connect it to the host computer and (if not bus powered) issue a Reset on the AVR.

The firmware can now be flashed with the "bootloadHID" tool. It accepts only one parameter: an Intel-Hex file containing the code to be loaded.

For a GUI uploader tool on Windows, see Mario Steiner's contribution.


Release Notes

Release 2012-12-08

  • Updated to latest driver.
  • Fixed compiler errors in latest gcc/avr-libc.

Release 2010-07-29

  • Optimizations for gcc 4.
  • Allow "-r" option for command line utility when no file is uploaded (boot target firmware).

Release 2008-11-26

  • Code size improvements.
  • This version works if the OSCCAL register is not in the I/O addressable range.
  • Fixed boot loader condition in example config file.

Release 2008-10-22

  • Ported back some improvements from USBaspLoader.
  • Code size optimization to make this boot loader usable with the 12.8 MHz module.
  • Updated to newest USB driver.

Release 2007-10-23

  • Added command line option to leave boot loader after upload.
  • Code size optimizations.
  • Fixed bug on devices with more than 32 kB flash.
  • Updated to newest USB driver.