Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

One click project with USBasp programmer

UASBASP is an efficient programmer for Atmel AVR microcontrollers that works under multiple operating systems including Linux, Mac OS X, and windows. How to assemble this simple programmer read the previous article in this site or go to the original website of Thomas Fischl.


As it was mentioned USBasp has two available programming frequencies – high when jumper disconnected and low when connected. These frequencies are 375kHz and 8kHz. To use 375kHz speed, target MCU’s clock frequency has to be at least 1.5MHz – four times higher than SCK. If the target is clocked with low-speed oscillator like 32kHz, then jumper has to be connected as it gives 8kHz SCK which is also 4*8kHz=32kHz.

Building and preparing this programmer should not be a problem as it uses very few components. If you use 6 PIN ISP header, then you need 10 to 6 adapter — Flash Atmega8 with the newest firmware found in authors site. Right now latest firmware is 2007-10-23. For other details read in readme file.

If the device was soldered correctly then its time to put it on the action, first of all, connect USBASP adapter directly to the PC USB port – avoid hubs! Install the necessary driver like it was described here. Then connect ISP header to the target board and power it up. Now we are all set.


Programmer supports open source AVRDUDE programmer since version 5.2. So your latest WinAVR tolls set has it. Now let’s try to run a programmer in terminal mode. For this go to the command line by pressing Start->Run and type cmd. In command line type:

avrdude -c usbasp -p atmega16 -P usb -t

and press enter key and see what’s happening:


Programmer reads targets signature and waits for further commands. To exit terminal mode type quit.

Now when we are sure that programmer works OK, lest set up WinAVR project to compile and flash code just in one click. For this, you need to edit makefile. Just use Mfile editor which comes with WinAVR installation and edit following lines:



That’s it for setting a programmer. Now select [WinAVR] Program from Programmers Notepad Tools menu and enjoy the rest – make.exe takes care of the rest: compiling, flashing and verifying.

Last notice. Don’t expect high programming speed as it uses a firmware-only USB driver. Maximum of this programmer is up to 5kBytes/s. And it seemed that it is a little bit faster when compared to my LPT ISP programmer. I think not to speed is the primary key here, but the ability to use USB port which is the only choice in some computers especially laptops.


  1. Hi Guys,
    I have the avrdude GUI version updated for USBASP programmer, which works for windows. if intrested please post a mssg.



  2. I have purchased a “Atmel usbasp” programmer from Micro4you in Tiwian It was supposed to be a plug into my usb port and be used with my jeepersdx program to program an Atmega 128 card. So far I can only get my computer to reconeize that it is connected and the lite on the unit will light up but I am not able to hav the Jeepers program talk to the card. I am not that technical so I need some help. Any ideas? Please contact me via my email address.

  3. Does this programmer work with AVR studio or codevision?

  4. Nice tutorials,

    You can also use eXtreme Burner – AVR in place of avrdude because it is GUI and easy to use.

    Download it from here

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.