How to Burn/Upload Arduino Bootloader using USBASP

USBASP is universal programmer board for microcontroller especially Atmel-AVR families. Normally, USBASP is used to burn/upload HEX file (executable file on microcontroller) to microcontroller’s flash ROM. To do it, you must install an usb driver first then using certain software (such as AVRDude, eXtreme Burner, Bascom AVR, etc) to upoad HEX files. USBASP is an open source project, so you can build it by yourself even though you can buy it with a cheap price.

Well, this time I'll try to explain and practice USBasp board to upload bootloader to Arduino’s microcontroller (ATMega8/168/328). This programmer tool is very popular among fans of microcontroller because of compact, cheap and reliable. You can build it at home by making a minimum system of ATMega8 microcontroller, then adding SPI (Serial Peripheral Interface) pinout, MISO, MOSI and SCK pin (plus Reset, Vcc and Gnd) and fill it with USBasp program (freeware). Already finish. But, at this moment I will not discuss more detail about this USBSP programmer. I assume you already have either purchase or make their own. Then, we will use it to burn bootloader to Arduino microcontroller (ATmega8/168/328).

Burning Arduino bootloader using USBasp is fairly easy. The working principle is by utilizing SPI communication port both in USBasp as well as in target board. Then Arduino IDE will 'call' USBasp driver to burn Arduino bootloader to the target microcontroller. Illustration picture is shown as follows:

Tools and materials required for burning Arduino Bootloader

1. USBasp board + applications / drivers
2. Arduino boards (Uno) + blank IC of ATMega8/168/328 + Arduino IDE software installed
3. USB cable (2 pcs)

Then connect Arduino Uno board and USBasp board with cable connection as shown below

Software Configuration 

From Arduino IDE side, you need configure target board by choosing options on Tool-Board menu (select appropriate Arduino board you use). Then, please select ‘usbasp’ in Tool-Programmer menu.

After all configurations setting in Arduino IDE is already done and hardware wiring is correct, continue the last step by selecting Tools-Burn bootloader menu. Wait a moment, and your AVR ATMega microcontroller are uploaded Arduino bootloader then ready to use as Arduino. The advantage of using this method is more concise materials/tools required and faster for burning/upload process than using Arduino ISP (I’ll explain it later). Good luck ….
Next Post »