Microcontrollers are there even before we have our computers to do our job thus in those times generally we used to program our controllers through Serial Protocols using COM Ports . Now as computers start advancing we developed more suitable and robust protocols for our communication needs such as USB (Universal Serial Bus). USB is a Faster and a easier way to communicate through the devices as compared to Big old Serial Ports. As the time passed away Serial COM ports are now totally vanished from the modern PC’s and thus arrived the need to change our programming Devices and Protocols.
As we see by default the AVR series of microcontrollers does not support the USB communication protocol and thus it is difficult for us to program it directly through USB. So the solution for this is USBAsp Programmer. It is a separate USB device which acts as a virtual COM Port for our microcontrollers, the thing here is it also supports USB protocol it is a Win-Win situation for all of us. Thus giving us the edge and freedom to use USB for programming our microcontrollers.
USBAsp is a Universal device and can be used to program any AVR related microcontrollers. It can also be used for loading the Arduino Bootloader into the ATmega 328 IC’s