Programming Bootloader

This felt like the most appropriate forum that I could see.

I have a couple Atmel Atmega328p-pu uC that I am trying to program the bootloader to, using an UNO as an ISP.

I started with the 1.0.6 IDE, followed the instructions on this site (, and had zero success. I keep getting an avrdude error of Arduino: 1.6.5 (Windows 7), Board: "Arduino/Genuino Uno"

avrdude: Yikes! Invalid device signature.

Double check connections and try again, or use -F to override

this check.

Error while burning bootloader.

I have done a bunch of searching online, and decided to try optiloader, since it sounded like it was easy and successful for everyone that tried it. Again, didn't work. I keep getting a "Failed, result =0x0" error, when using a breadboard. I tried using another UNO, since I suspected that maybe my crystal setup was not working... only to find that I had a different error, sorry I don't recall what it was and stupid me didn't document it. D'oh!

I then verified that my crystal set up was working in two ways, I probed the XTAL pins with my O-scope and found that they were osculating at 16MHz like they should, with the same waveforms as can be found when probing the XTAL pins on an UNO board, so that checked out. I then programmed Blink to an UNO uC and transferred that to my breadboard to verify functionality, which it worked as expected. So the hardware side seems good.

I then found a thread that suggested that using an external power supply instead of using the power on the UNO board would be needed, I've tried that without success as well.

I've also tried downloading the latest IDE with no change, although the new IDE 1.6.5 doesn't seem to like something in the optiloader sketch because it won't even compile.

I've tried the slightly different connection scheme as seen in this video: How to install the bootloader onto an Arduino Uno - YouTube

thus far I have not been able to program a bootloader to these black uCs.

I'm looking for suggestions on other ways that this could possibly done.

I have a Willems GQ-3X that I can use, though it looks like it only mimics an ISP interface like the UNO does anyway.

Other programs, software, even hardware that will make this work every time, or as close as humanly possible, I understand that sometimes even perfect solutions aren't.

I've done a quick search here and have found this page (Gammon Forum : Electronics : Microprocessors : Atmega bootloader programmer) through another post and will be going through it since it also sounds promising, I'll report back on what I find with it.

In the mean time other ideas would be great.

If you can't make Nick Gammon's method work, then maybe you have other issues. Good luck.

This post should be viewed as objective.
Often when a poster says they followed a tutorial and it does not work, the poster has made an error somewhere along the way.

If you really want help, you should provide details & photos of your setup and specific details of what you did.

The above aside, a good alternative is to use a USBasp programmer.

My guess is the OP forgot the 10uF cap between Reset and Ground on the Uno when burning the bootloader. But just a guess without more info. Nick Gammon's sketch is much more foolproof though.

Well, I thought I was as thorough as I needed to be with information regarding what I have and have not tried. I shouldn't be expected to post pictures or video or what I've done every time am doing something when using descriptive language should be more than enough, especially for a basic task such as this.

I think it was because of replies like this that I stopped coming here a few years ago... Sometimes things don't go as smoothly the first time one tries something and they look for help, not belittling or berating.

Anyway. After playing with Nick's stuff for a while I pulled out my continuity tester (I admit I should have thought about that sooner, it's just not been an issue for me in the past) and it seems as though there was a pin of a jumper that for some reason was not making contact with the breadboard, even after moving it between it and the other Arduino board, and removing and re-installing several times to check that I had everything correct. It connected and I was able to use the Arduino IDE built in bootloader programming function. So far both of the raw 328Ps are programmed. I've loaded Blink to one and it works as expected.

It was when Nick's board detecting sketch said that ISP programming was disabled that it seemed clearer that it was like a physical issue like it turned out to be.

I didn't need the 10uF cap, at least not this time on my UNO to program. I had read about that, but I was trying to establish communication first, to which Nick's page and sketch helped sort out that I definitely was not connecting to the target 328P, with good troubleshooting tips.

Now that I know this will work as expected I'll make a permanent adapter for doing this. :slight_smile:

Thanks anyway.

I looked up and down through the entire thread, read it several times, and I didn't see anything the slightest bit berating or belittling. I only saw helpful tips, and advice on how to move forward.