Friday, August 2, 2013

Burning bootloader - Part 2

Well, I had some problems recording the UNO bootloader on the first experiences, and got stuck with 2 chips "bricked", now that I have some spare time, got back to them and found a shield/guide of how auto-recording the chips, and how to recover them, the code is here and the way to connect the pins of the chip which you want to burn, are here:
  • Pin 1 to digital 10 - Blue 
  • Pin 7 to 5V - Red 
  • Pin 8 to Ground - Black 
  • Pin 9 to digital 9 - Gray 
  • Pin 17 to digital 11 - Brown 
  • Pin 18 to digital 12 - Orange 
  • Pin 19 to digital 13 - Yellow 
  • Pin 20 to +5V - Red 
  • Pin 22 to Ground - Black 
The configuration is an arduino board and a breadboard with the chip which needs to be recorded/the "bricked" one. After connecting the pins to the second board (as described) you should upload the code to the arduino, select:
"Tools-> Programmer->Arduino as ISP"
 and "Tools->Board->Arduino Uno" proceed as in the picture:
It worked for me and I "unbricked" the chips, you can see the entire article here.
This procedure will work on ATmega328P-PU and ATmega328P-PN, for the ATmega328-PU you will have to use the following workaround:
Workaround for ATmega328-PU:
 
In your Arduino folder, find the subfolder: ..\hardware\tools\avr\etc
Make a backup copy of the file: avrdude.conf
  1. Open the file avrdude.conf in a text editor
  2. Search for: 0x1e 0x95 0x0F (this is the ATmega328P signature)
  3. Replace it with: 0x1e 0x95 0x14 (this is the ATmega328 signature)
  4. Save the file 
  5. Proceed as described previously 
  6. Restore the avrdude.conf to it's original settings

The standalone project is here, hope someday to have time and € to do one, for myself!

Update on the 12 February 2015: Gave up on standalone project, because it does not use the optiboot code and does not work very well, or not at all. I will build a shield to burn the UNO's using things explained within this article. Also updated the code link to a 2011 routine, instead of the 2009.
Update on the 13 February 2015: Gave up of the updated 2011 routine, didn't work for the ATmega328P-PN, back to the fine 2009.