I bricked my arduino... again. And now I am out of pre-programmed chips. Time to flash bootloaders myself...

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

Picture of Command line options for avrdude
I performed said steps on a Windows box (running XP), so it is possible to do this on a PC ! The command lines should / must be exactly the same on a Linux box or an OSX box.

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...

Voila !
Remove these adsRemove these ads by Signing Up
thewiz232 months ago

Maybe your arduino wouldn't brick if you were using a real one instead of a counterfeit.

cool, are the chips without bootloader significantly cheaper to buy?
nicoo (author)  amandaghassaei1 year ago
Not really (any more).

I had to re-flash my atmega328 because it was bricked: a faulty program had made the usb connection unresponsive so that the IDE could not connect to it.

Also, different versions of arduino boards (diecimila, uno r3, etc..) may require different bootloaders.