USBAsp and Arduino Question

I am a newbie to Arduino and I am completely confused. I have started to set up an Arduino on a Breadboard from THIS GUIDE on SITE. I want to ask if I can burn bootloader and upload sketches to Arduino using a USBAsp. If I can then why would I need a USB to Serial Breakout board? It will be great if somebody please guides me.

Thanks.

EDIT :

I might be wrong that the USBAsp can be used to upload sketches to the Atmega328P? Then I think I will essentially need a USB to TTL [e.g. the PL2303HX]? [I can't live with this confusion in my mind and my heads gonna explode any minute now! Please help me!]

USBASP is used to burn a bootloader into the '328P via the SPI interface pins - you connect up to SCK, MISO, MOSI, Reset, Vcc, Gnd. When Reset is pulled & held low by the programmer, access to the memory is direct via the SCK, MISO, MOSI pins. A sketch can also be loaded the same way, and then there is No bootloader. The IDE supports bootloader installation via Tools: Burn Bootloader. Sketch installation is supported with File:Upload Using Programmer.

After a bootloader is installed, the bootloader code then watches the serial port after a reset for a few seconds to see if commands come to say "install this sketch", at which point the bootloader interacts with the PC (or equivalent) to receive data and put it into flash memory. If no commands come in, the existing sketch is started.

Does that help?

Writz: I might be wrong that the USBAsp can be used to upload sketches to the Atmega328P? Then I think I will essentially need a USB to TTL [e.g. the PL2303HX]? [I can't live with this confusion in my mind and my heads gonna explode any minute now! Please help me!]

You can use a USBasp to program the bootloader onto a chip, or to skip the bootloader and just directly program the sketch.

If you program the bootloader, you can then program the sketch via the serial pins, using a USB->TTL converter.

If you program the sketch directly onto the chip using the USBasp, if there is a bootloader on the chip, it will be overwritten. So if you wanted to return to a bootloader style of programming the chip, you'd have to load the bootloader again using the USBasp first.

It can be convenient while developing a sketch to use the bootloader, since the same USB serial connection you use to program the chip can also be used to establish serial comms for debugging purposes, etc. Potentially less plugging and unplugging. But in the end it's pretty much really just a matter of taste. You do get slightly more program memory available to use if you don't have a bootloader, but it's rarely a practical concern.

I think I understood it. So, using the USBAsp the IDE isactually burning boot loader or uploading sketch directly to the Atmega328p. But using the USB to TTL interface the IDE is actually connecting to the bootloader and sending the sketch to the bootloader which is then storing it. Right? So every time using USBasp the whole memory is formatted and then rewritten whereas using bootloader only the Sketch is removed and rewritten. Right?

Writz: Right?

Right.

pico: Right.

Thanks...

CrossRoads: Does that help?

Thanks...