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”
Leave a Reply
Please be kind and respectful to help make the comments section excellent. (Comment Policy)
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.
@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
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
http://www.ulrichradig.de/home/index.php/avr/usb-avr-prog
eh i just use an arduino for avr programming
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
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!
http://www.simonqian.com/en/AVRminiProg/
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.
Now if only one of these did debugWire!
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
These things have been around for ages.. you can pickup prebuilt ones on ebay for peanuts.
@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
Well done for doing a usb programmer on a non-native usb chip.
I had a friend on hand with a programmer for the chicken-or-egg problem.
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/
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? ;/
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!
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 :)
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.
this one remembers me of the Brenner8mini-P pic4550 based pic programmer from http://www.sprut.de/electronic/pic/projekte/brenner8mini/index.htm#p
@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. ;-)
PonyProg also seems to work fine under 32 bit Win7, awesome horsey sound FX and all!!!!
Here’s the avr programmer i use: http://www.tuxgraphics.org/electronics/200705/article07052.shtml
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).
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.
That’s exactly the same version of the programmer, only CMD
http://easyelectronics.ru/forum/mydevice/usbasp_mini
I built ladyada’s USBtinyISP http://www.ladyada.net/make/usbtinyisp/index.html
Uses an ATtiny2313
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
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.
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