USBasp is low cost USB in-circuit programmer for Atmel AVR micontrollers. The hardware 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. Its programming speed is up to 5kBytes/sec. USBasp works under multiple platforms: Linux, Mac OS X and Windows.
For more detail: Simple USB AVR programmer, USBasp using ATMega8 microcontroller