FTDI vs. AVR Programmer

Whats the difference between an FTDI cable/adapter & AVR programmer?

FTDI Cable / Adapter AVR Programmer

adafruit_products_ftdicable_t.jpg

adafruit_products_done_t.jpg

There are two ways to program an AVR microcontroller. One is to reprogram the entire chip using an AVR programmer. The other is to use a bootloader that is pre-programmed onto the chip that allows the chip to re-program itself. An AVR programmer is more powerful: you can really mess with anything on the chip and the entire 32K of memory is available. Using the bootloader is safer: there's no way to mess with the fuse settings (which could brick the chip) but you only get 30K of memory since 2K is used by the bootloader. Not a big deal, but if you are working on a big project which requires tons of flash space, you may need it

For a lot more information about AVR programmers and bootloaders, I strongly recommend reading this short article

Note that to program an AVR you need an AVR programmer (like a USBtinyISP ), but to upload using the bootloader you need a computer-serial connection (such as an FTDI cable). Unfortunately, they are not the same device! If you're not a microcontroller wiz, I suggest going with the bootloader (FTDI) method. Its as fast (or faster), allows you to debug as well, and theres virtually no way to damage/brick the chip by messing with the fuses. If you're familiar with microcontroller programming, and you have a programmer, then feel free to go that direction.

SO!

  • AVR programmers are more powerful in that you can program any AVR, even blank ones from the factory. But that also means you have a pretty good chance of 'bricking' the chip!
  • FTDI adapters can send any serial data back and forth including updating AVRs with a bootloader on them. But you need to get that bootloader on there first, which basically requires an AVR programmer.

If you use an AVR programmer to write to chip with a bootloader on it, you'll overwrite the bootloader so just be aware of that!

Last updated on 2015-05-04 at 04.27.56 PM Published on 2013-01-29 at 10.41.43 AM