Luckily I have a USBtinyISP (v2.0). I had never used it though and I managed to struggle to load a bootloader into my arduino. So, for your (my) reference, here are the steps that allowed me to flash a batch of ATMega328 (and ATMega328p).
For this instructable you will need:
- 1 x arduino board
- 1 x USBtinyISP (pay about 10$ for it on ebay)
Step 1: Command line options for avrdude
The arduino IDE installed on my box is arduino-1.0.1
In a terminal (a DOS prompt), cd into the directory arduino-1.0.1, then run:
hardware/tools/avr/bin/avrdude.exe -C hardware/tools/avr/etc/avrdude.conf -b19200 -c usbtiny -p m328p -v -e -U flash:w:hardware/arduino/bootloaders/optiboot/optiboot_atmega328.hex -U lock:w:0x0F:m -F
avrdude.conf: configuration file
usbtiny: type of programmer (USBtiny)
m328p: type of chip to program (ATMega328p)
optiboot_atmega328.hex: magic file (bootloader) for Arduino UNO R3
-F: force (for ATMega328 chips which are the same as ATMega328p for flashing purposes but are different enough so that they don't have the same signature as ATMega328p chips)
Attached is the avrdude output (avrdude.txt), enjoy...