I noticed that I had a problem with the bootloader of my Arduino Uno. I've tried using a Mega 2560 to repair the bootloader, but it didn't work. Then I bought a FTDI tool, and followed the instructions here.
I'm using a Crius FTDI tool.
However, I get this error:
avrdude: Can't find programmer id "ftdifriend"
It is followed by a list of the valid programmers.
sounds like avrdude.conf doesn't contain the necessary programmer definition for ftdifriend - you might be able to find that online somewhere, and add it to your avrdude.conf. They wrote that tutorial way back in the dark ages, before even Arduino 1.0 - I think that bitbang bootloading that way, which as they note, takes hours, is considered obsolete now in this age of dirt cheap ISP programmers.
Why not just use one of those $3 USBAsps from ebay? Those work, are supported by the IDE by default, and burning bootloader takes like 5 seconds...
Thanks for your reply, but after modifying my avrdude.conf file from here I get this error:
Error while burning bootloader.
avrdude: error at /Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf:300: programmer type must be written as "id_type"
I understand that it would be simple with a USBasp, but I would like to try with my FTDI tool first.
Thanks for your help. I followed the steps here, and the only difference is I didn't use a capacitor, but the boards didn't seem to reset either.
This is the error:
System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/Users/Mac/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/cu.usbmodem1411
Using Programmer : stk500v1
Overriding Baud Rate : 19200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
...
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
avrdude done. Thank you.
Problem uploading to board.
I've tried the Gammon Bootloader sketch. Uploading to my Mega 2560 is all right, but I still get an error:
Attempting to enter ICSP programming mode ......................................................
Failed to enter programming mode. Double-check wiring!
I've double-checked the wiring, and I've tried with both the custom cable way and the normal way, but still gives the same error.
That looks pretty good. When I run across a problem like this on my workbench, my tendency is to disconnect everything and hook it up again with different wires. I like to use the ICSP headers like in the attached diagram. If you have a multimeter, check each connection to make sure it ohms out to less than an ohm or 2. I suppose the ATmega328P or the Uno crystal could be dead.
Also it couldn't hurt to hook up a resistor and LED to your Mega, and upload a modified blink sketch which blinks each of those important ports on the Mega to make sure they are working ok, 10, 50, 51, and 52
Ok, then next step is to hook up with different wires on the ICSP headers and try again. I verified with my Mega and Uno that the diagram I uploaded works with the Gammon bootloader sketch by re-burning the bootloader on my Uno just now. If it still does not work, the least expensive thing to try and most likely problem is the ATmega328P, which typically costs $3.50 to $5.50 USD to replace. You can get them with the Uno bootloader already on it, or get them blank.