Help with bootoader on a Leonardo.

I'd appreciate some help, really struggling with my leonardo.

We bought a leo at work, and when it arrived I couldn't get it to work properly. I was messing around with it simply trying to get blink to work right, and I decided that it might have a screwy bootloader and I figured I would try and fix it myself! Amazing the rabbit holes we climb into.

Anyway, I tried using the ATMEL bootloader software I found via some guide, and didn't get far with it. Just borrowing an uno to try and use ArduinoISP, and now all I can get is a:

"avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check."

Now I'm guessing this is because the firmware is screwy and the hardware isn't identifying right. How do I do this "-F" thing to see if that will work? Everyone I have seen so far just say that they tried it, without saying what it is etc.

If I'm down the wrong lines, how can I reset my Leo to factory default? Can I do it with my Uno?

Big thanks for any helps!

Did you disable reset on the UNO with a resistor (to +5) or capacitor (to Gnd)? If not, you end up trying to talk to the UNO which has a different signature.

Hi John,

Yes, I just tried the process using a 10k to 5v on the reset pin of the uno. Still the same thing.

What is the -F thing it mentions, and how can I try that?

It's wired as per this: http://arduino.cc/en/Tutorial/ArduinoISP

Yes, I just tried the process using a 10k to 5v on the reset pin of the uno. Still the same thing.
10K might not be a strong enough pull-up to prevent auto-reset. Try 1K or go with the recommendation in the instructions you pointed to: 10 uF capacitor between Reset (+) and Gnd (-).

What is the -F thing it mentions, and how can I try that?
You can't and it wouldn't help because it just suppresses the error. You'd still be talking to the wrong processor and would get an error somewhere else.

It's wired as per this: http://arduino.cc/en/Tutorial/ArduinoISP
They don't show the required 10 uF capacitor in the diagrams but they do mention it in two places in the instructions.

So first up: thanks for your help!

I did it, but not in the way I was trying initially. I ended up looking at a fairly random looking guide for using the ICSP headers instead of the normal digi IO pins (http://letsmakerobots.com/content/make-arduino-isp-programmer). I don't know if it was due to some dodgy wiring on my part (I think it was ok) or if something was different in using the ICSP headers, but it worked. I DID need to use the cap on the reset pin though, so you definitely helped by insisting I do that.

Happy Leo owner!