USBasp is an in-circuit serial electronic programmer designed for the Atmel AVR Microcontroller family. USBasp is a low-cost programmer that converts hex file (.hex) into an AVR microcontroller which consist of an Atmega8 or Atmega88 microcontroller and a couple of passive components. No special USB controller is required since the programmer uses a firmware-only USB driver.
In order to program a microcontroller we need to access four pins of the microcontroller, but our USB will have only two pins for communication, then how can we program a microcontroller with a USB. Here comes the functioning of the USB ASP Programmer.
In short, a USBasp in-circuit serial programming adapter is used to install bootloaders and firmware on common AVR microcontrollers. In USBasp Target referred to as the board, we are programming. This module features an SCK option to support Targets with a low clock speed of less than 1.5MHz.
USBasp programmer with a 10-pin ISP connection provides the interface to the microcontroller at a programming speed of 5KB/sec. This USB interface is achieved by using an Atmega 8 processor and the rest is done in firmware. A 10-pin male header is used for various ISP header pins to make interfacing easier. These are modules of compact size but with elegant design.
The USBasp programmer will work with a wide variety of Atmel AVR microcontrollers including the Atmega8a and Atmega168a. The USBasp driver will work on both 32 and 64-bit platforms. As a result, a USBASP programmer works on multiple platforms such as Windows, Mac OS X, and Linux.