FTDI vs. ICSP

Go To Last Post
8 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi guys,

 

Just wanted to confirm something since I'm seeing slightly different things on the web.

 

For FTDI programming on a ATmega328p-au I would just connect the respective pins to the ttl adapter with a 0.1uF cap on the reset pin.

 

For ICSP just connect the respective pins (miso, mosi, sck, and so on). My question is, does the reset pin require a 0.1uF cap for ICSP programming? Or is it just straight connections from programmer to the ATmega?

 

Also, is there a difference between the standalone circuits if there is no bootloader? Will the circuit below work for a ATmega328 programmed without bootloader using the arduino hex file.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Does the reset pin require a 0.1uF cap for ICSP programming?

 Nope.  Straight to the programmer.

 

 

is there a difference between the standalone circuits if there is no bootloader? Will the circuit below work for a ATmega328 programmed without bootloader using the arduino hex file.

No difference.   You'll have to use ICSP and a programmer if there is no bootloader, but the same .hex file will work in either case.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

FTDI is a usb>serial converter. This solution relies on a bootloader being already loaded into the AVR. The 0.1uF is used to reset the AVR into the bootloader.

With the ICSP solution, the programmer directly controls the reset pin. Using ICSP, you can program the hex file generated by the Arduino tools and not need a bootloader.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for clearing things up! smiley

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Welcome biscuitownz

 

Warning: FT232R, Tx goes to UART RX and FT232R Rx goes to UART Tx. So, you schematic has a BIG error.

 

Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ka7ehk wrote:

Welcome biscuitownz

 

Warning: FT232R, Tx goes to UART RX and FT232R Rx goes to UART Tx. So, you schematic has a BIG error.

 

Jim

 

Hi Jim,

 

I actually found that schematic online. I was aware of that as well, but thank you :)

 

Also, what is a good way to set the fuses? The ATmega328 that I bought has the uno bootloader on it. I heard that you can flash a nano bootloader and that will set the fuses and then I could just program via icsp with the hex file that does not include the bootloader to wipe it but retain the fuse settings.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

biscuitownz wrote:
FTDI programming

Note that FTDI is just the name of a companyhttp://www.ftdichip.com/

 

So there is really no such thing as "FTDI programming"

 

What you're talking about is programming via the UART (or USART; aka "serial port") - which, as Kartman said, requires a bootloader.

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Kartman wrote:
FTDI is a usb>serial converter.

Actually, FTDI is the name of a company - (probably) best known for their USB-to-Serial converter products.

 

I guess it's become something of an eponym these days.

 

https://en.wikipedia.org/wiki/Eponym#Other_eponyms

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...