USBasp: AVR programmer based on ATmega8

We love our AVR Dragon programmer but it can be nice to have a cheap and simple in system programmer on hand too. The USBasp is one such programmer that uses and ATmega8 as its only IC. It requires just a handful of components and can be purchased as a kit, or etched and assembled at home. If you source your own parts the chip does need to be programmed which makes for a chicken-or-egg scenario. We’ve used the Parallel-port dongle (schematic) from Adafruit’s Spoke POV before. It’s basically just a DAPA cable and a few resistors, a ribbon cable (use and old IDE cable if you have to) and a parallel port connector can have you up and running in no time. This is also a great way to get a friend into working with embedded systems. Order parts for a few of these and give them away to your buddies.


  1. Jake says:

    Cool. For an easy parallel (or serial) programmer, have you guys ever seen PonyProg?

    Just google PonyProg, its the first site that comes up. There are schematics for various programmers on the site. It is very easy to piece together a serial programmer for the chicken-or-egg problem, and the program itself is pretty nifty to have around. The app supports many different devices.

  2. Someone says:

    @Yeah but PonyProg doesn’t work if you are above WinXP (at least not for me) but works nice if you are on Linux though.

    If you really want a cheap Programmer like this and don’t want to etch something, here you go:

    $8.50/each kit, plus $2.50 S/H fees +1$ if you are outside the US (Chip ship’s programmed) Really nice guy, i already bought 2 of ‘em

  3. Fluxon says:

    I had a friend on hand with a programmer for the chicken-or-egg problem.

    If you have problems to get the device running on 64bit machines, just check out the site of Ulrig Radig (use a translator or just download the “Treiber für Win32 and Win64″ ;-)) and follow the instructions in the readme.txt

  4. osgeld says:

    eh i just use an arduino for avr programming

  5. stinke says:

    I actually extended this to provide RS232
    with a patched version of a terminal
    emulator program (Gtkterminal).
    Never got around to posting the patches though
    because it was ugly.
    But its an awesome debugging plattform

  6. Markus Ekler says:

    The USBasp is nice, but there is also a low budget (DIY) tool from SimonQian which can emulate almost any Atmel Tool (STK600, AVRispmk2, Dragon, JTAGICEmk2). It supports JTAG, ISP and High Voltage programmming, and it works pretty well I’ve tested JTAG and ISP!

  7. paul says: solves the chicken and egg problem by including an ftdi232 chip which can also be used in bit bang mode to program the programmer.

    I’ve been using usb-asp for over an year now on XP and it has been working pretty well, but there is an little issue. If you plug the driver into another USB port then it was in the first time then windoze recognizes “new hardware” and wants to re-install the drivers. If you do that then avrdude gets a little bit confuzed and there is a delay of up to 10 seconds before the programmer is recognized and downloading of the code stars.

  8. xSmurf says:

    Now if only one of these did debugWire!

  9. fcobcn says:

    I have built 4 of these at home with the toner transfer method, they work really well, multiplatform is a win win.
    If your in the chicken-egg situation, just build a parallel port programmer, and keep it in case you face the rare situation of fucked up fuses on avr’s.

  10. cantido says:

    These things have been around for ages.. you can pickup prebuilt ones on ebay for peanuts.

  11. Jake says:


    Nice project for a beginner, though. Building my own programmer is one of the first things that I did way back when I started experimenting with microchip/atmel MCU’s :D

  12. knuckles904 says:

    Well done for doing a usb programmer on a non-native usb chip.

  13. evawanling says:

    I had a friend on hand with a programmer for the chicken-or-egg problem.

  14. fractal says:

    Has been around for ages and works well.

    They use the 10-pin ISP-standard to be able to connect RX and TX but the standard ASP can’t use them.

    Two friends of mine have programmed a firmware and corresponding java-terminal for the pc than can actually do serial communication directly via USB without the need for a levelshifter or RS232-USB-dongle.
    Its pretty handy, so if you wanna check out their (ongoing) work:

  15. mindw0rk says:

    What the hell? usbasp has been around for ages. In fact it’s my first avr programmer. Why did it get posted on hackaday just now? ;/

  16. Entropia says:

    How did HAD miss USBasp? I have been using it for YEARS. It’s been released in 2005…

    Anyway, it’s a great little thing. Remember to short the “clock” jumper if you’re programming fresh AVRs, otherwise the speed is too high for the factory-set 1 MHz clock!

  17. dcopeto says:

    This is a great programmer. From the first time I put it running on a breadboard till now assembled in a perforated board it’s working flawless :)

  18. positive says:

    Just recently built one of these. For some reason my USBasp seemed to crash, when using the Slow SCK jumper, but with avrdude you can also slow the clock by specifying -B n at the command line. To slow it down, n should be larger than 1. I use -B 3 for fresh controllers.

  19. h3po says:

    this one remembers me of the Brenner8mini-P pic4550 based pic programmer from

  20. Ben Ryves says:

    @Someone: PonyProg works fine here under 32-bit Vista with the “official” SI Prog hardware. (I’m using a serial port PCI card). Fortunately the SI Prog hardware works fine with avrdude, too, and at least that doesn’t make horse noises. ;-)

  21. Jake says:

    PonyProg also seems to work fine under 32 bit Win7, awesome horsey sound FX and all!!!!

  22. Markus says:

    Here’s the avr programmer i use:
    It circumvents the chicken-egg-problem by bit-banging the firmware onto the programmer on first startup. also, since it identifies itself as stk500v2 programming device on the usb port, it gets recognised by avrstudio/avrdude/whatsnot on pretty much any operating system (both windows and linux worked perfectly for me).

  23. zeropointmodule says:

    heh.. neat.
    Someone should make one which looks like a pendrive, but with a 6 pin retractable connector on the end for plugging into a protoboard.

    little tip. laptop HDDs and old Zip drives use a nice flexicable which is good for umpteen thousand cycles and generally handy for random projects.
    just find an old one with easy to solder pins and it should work fine.

  24. riko_81 says:

    That’s exactly the same version of the programmer, only CMD

  25. Paul says:

    I built ladyada’s USBtinyISP
    Uses an ATtiny2313

  26. mehrdad says:

    hey guys
    i build this programmer at home but i donot know ,how to program the atmega8 that is on the board(i dont have any other programmer to program it so i should be able to program it on board ? if yes can any body tell me how.

    thanks in dead

  27. sergio says:

    For the chicken and egg problem, there is always the parallel port programmer, the serial port programmer using bitbang, it works no need to waste money, in the arduino duemilanove bitbang works directly using shunts betwwen ftdi and ISP.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 97,808 other followers