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!

This guide was first published on Jan 29, 2013. It was last updated on Jan 29, 2013. This page (FTDI vs. AVR Programmer) was last updated on May 22, 2019.