Using FTDI tool to program an Arduino Uno bootloader

Hi all,

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.

Any help will be appreciated.

Thanks,
Luke

Is your Mega in working condition and you can upload sketches to it? I recommend using it to burn the bootloader.
http://forum.arduino.cc/index.php?topic=332536.0

Hi dmjlambert,

Thanks for you reply!

I've followed that tutorial before posting this already, but no, it doesn't work :frowning:

That's the reason why I bought a FTDI tool.

Luke

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...

Hi DrAzzy,

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,
Luke

You should have done a search.

See this thread.

You cannot use the FTDI tool - well u "could" but it's really not worth the effort.
I ended up buying a cheap USBasp programmer for $1.94.

However, using anther Arduino should definitely work - I have done it often.

Rather than saying you followed the tutorial, why don't you list the steps YOU took and someone might be able to see where you went wrong.

Hi aisc,

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.

Thanks,
Luke

You should use a capacitor.
Make sure you have the orientation correct.

Hi aisc,

I know I should use a capacitor, but I don't have a 10 uF one.

Thanks, Luke

It is ok if it is bigger than 10uF. I use a 220uF.
Or, the Gammon Bootloader sketch does not require disabling auto reset. Try that.

Hi dmjlambert,

Thanks for your reply.

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.

Thanks,
Luke

Let's see a photo of your wiring.

Hi dmjalmbert,

I've attached my wiring on the top post.

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

Hi dmjlambert,

Unfortunately, I do not have a multimeter around, but I've uploaded blink and all of the wires seem to work normally.

Thanks,
Luke

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.