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.

28 thoughts on “USBasp: AVR Programmer Based On ATmega8

  1. 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. @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:
    http://www.fun4diy.com/AVRISP_mkII.htm
    $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. 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

  4. http://www.tuxgraphics.org 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.

  5. 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.
    cheers

  6. @cantido

    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

  7. 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:
    http://sourceforge.net/projects/com-plex/

  8. 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!

  9. 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.

  10. @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. ;-)

  11. 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.

  12. 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

  13. 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.

  14. Buying an avr dragon just because of debugWire, but its still sucks because it cost almost 100 bucks for a replacement, really would love DIY programmer with live debugging capabilities

Leave a Reply to JakeCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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