USBasp is a USB in-circuit programmer for Atmel AVR controllers. It simply consists of an ATMega88 or an ATMega8 and a couple of passive components. The programmer uses a firmware-only USB driver, no special USB controller is needed.
So, you saw some AVR microcontrollers and you decided they are cute (they really are!). If you choose to work in plain C what you need is just a toolchain (you probably have some package ready for your distribution), the avr-libc library, a programming software like avrdude and a hardware programmer!
While you can freely download all the software you need, including the source code, for the programming hardware you have to choose between buying a commercial programmer (either from Atmel or some third party)
- AVRDUDE supports USBasp since version 5.2.
- BASCOM-AVR supports USBasp since version 126.96.36.199.
- Khazama AVR Programmer is a Windows XP/Vista GUI application for USBasp and avrdude.
- eXtreme Burner - AVR is a Windows GUI Software for USBasp based USB AVR programmers.