Burning Uno bootloader with Mega...possible?

The fiasco so far.

My Uno stopped taking programs. I did some diagnostics, and determined that the 16u2 is fine, and the power supply is fine. I figured it’s the 328P. I bought a replacement 328P (4, in fact) and need to burn a bootloader.

I do not own another Arduino Uno, whereas ALL the official documentation for burning a bootloader is from one Uno to another. There is no clear documentation from Arduino on how to use a Mega as an ISP.

I understand that the Uno uses pins 10-13 for this purpose as these pins are also connected to the ICSP header (because they use the same pins on the 328P) but this is not the case for the Mega. Instead, you are to use either pins 50-53 or the ICSP header.

Neither of these worked.

I’m using Arduino IDE version 1.8.1, using the ArduinoISP sketch that came with it. There is no documentation from Arduino.cc that says anything about using a Mega (in fact, I feel embarrassed on their behalf) and what independent tutorials and whatnot I’ve found don’t match the Arduino sketch I have, so I don’t know what if anything in the sketch I need to change, and where.

I get an avrdude sync error, no matter what combination of pins I connect.

So. I need to get a bootloader onto a 328P. I have a Mega and a Micro at my disposal. Can it be done, or should I just throw them all away?

You don’t need to change anything in the sketch.

Wire it like this:

Mega Uno
10 RST

  • Plug in your Mega
  • File > Examples > 11.ArduinoISP > ArduinoISP
  • Tools > Board > Arduino/Genuino Mega
  • Tools > Port > Select the port of the Mega
  • Sketch > Upload
  • Tools > Board > Arduino/Genuino Uno
  • Tools > Programmer > Arduino as ISP (not ArduinoISP!)
  • Tools > Burn Bootloader

If that fails do this:

  • Tools > Preferences > Show verbose output during: > compilation (uncheck) > upload (check) > OK
  • Tools > Burn Bootloader
  • After the process fails you’ll see a button on the right side of the orange bar “Copy error messages”. Click that button.
  • Paste the error messages in a reply here USING CODE TAGS (</> button on the toolbar).

It’s also possible to use the Micro but it’s a little more complicated. I can provide instructions for that if necessary.