What's this?This is modification of USBasp programmer for AVR. This programmer type is ISP, so target chip is possible reprogram in circuit. Programming speed is up to 5 kB/s, which is not bad. However, somtetimes is need slower programming speed (for example if internal oscilator works on clock 1.5 MHz or lower). For that cases there is jumper JP3 (Slow SCK). This programmer is also supported by avrdude and support most AVR's. Limit is there from avrdude side, then USBasp. For more info please visit official webpages of USBasp.
How it works?Communication between computer and target AVR is controlled by ATmega8/88/48. Implementation of USB protocol is full software. Under Linux you need to have installed library libusb. No drivers required. If you use Windows, then you will need driver. Advantage of this version is in external clock source. This feature is useful in most cases, when user set bad clock source. Also there is possibility to put target chip directly intro socket without any external components. There is special connector, on which are most important signals, that is connected with socket on case, so it is easy to connect target chip on breadboard.
Howto buildSo, now problems comming... Now is need to upload firmware. If you know anybody who already have some serial programmer to borrow it is easy. Just short JP2 (Self programming) and connect programming cable to connector X2. Then just upload firmware and you are from 1/2 done. When firmware is uploaded it is time for fuses. Now depends which AVR you used. In table is correct configuration for every supported chip.
Usage in avrdude is then simply:
ConclusionUSBasp is simple and steady programmer which I use for many years. Anyway if you do not have opportunity to make own PCB or you are just lazy it is possible buy completed programmer. Just have a look at ebay for example. There is "light", but fully functional, version and price is about 3$.