USB vs FTDI vs ISP programming?


What is the difference between programming the Arduino via the USB vs the FTDI vs the ISP?

What is the purpose of each of Why do have so many?



I dont know much about icsp, but the normal way to program an arduino is over TTL serial

now computers dont have TTL serial, so you use a converter, but! most computers now days dont even have a serial port so you need a way to plug it in

the usb cord comes from your computer and into an FTDI chip, which is more or less a usb to TTL serial converter

Arduino is essentially just a regular Atmega chip with a Bootloader to make the Serial Port a method of loading programs with a nice interface board and excellent client software.

What is a bootloader?

Programming Via USB

USB and FTDI are the SAME Solution. The FTDI chip is a USB to RS232 converter designed to talk with the Serial Bootloader software installed on the Atmega Chip.

If the Bootloader is not already installed (like when you buy the chip from, lets say, MOUSER) you can't use the USB - RS232 method to install the bootloader.


If you want to install/re-install the bootloader, you use the CHIP programmer interface (6 pins) and a special programmer. You normally ONLY use this to program the bootloader. The only other reason you would use it is if you wanted to program your arduino back to being a normal ATMEGA chip (removing the bootloader and just loading regular HEX files from AVRGCC for example).

I have an Arbotix board which has all three ports. I was wondering if the ISP Programmer using ISP header is the best way to download my sketches. -Migs

The ISP is an Atmel standard interface. It is common to a number of their processors. I use it a lot when developing Arduino libraries or developing standalone applications that do not require the Arduino bootloader. It is a much quicker download.

(* jcl *)

www: twitter: blog: