Programming other uC's

Hello Folks!

So I'm a little confused. No, I suppose i'm a lot confused. I'm assuming here that the arduino is a uC board which has a microcontroller on it. That uC needs to somehow get information on it. (in my case i have an NG board) So it has a programming interface on it already. This interface can also be used to program an ardunio mini board. So why can't you simply use the same method to program another AVR, for example an ATTiny? Isnt there a programmer built into the board? Why do you have to convert the whole thing into a standalone programmer, as discussed on a couple of sites on the interwebs. Could someone please enlighten me on this issue? O.o

Many thanks, The Russkey

Good question.

The reason you can program the the microcontroller (ATmega168) on the Arduino isn't because there's a hardware programming interface on the board, but because the microcontroller comes with a small bootloader program on it. The Arduino Mini comes with the same bootloader already on it, so you don't need a hardware programming interface to program it either. In both cases, all you need is something that converts the USB connection into TTL (5V) serial - which on the Arduino board is done by the FTDI chip. So if your other AVR already had a bootloader on it, you could program it with just the FTDI chip in the same way you program the Mini.

Does that make sense?

yes, that makes sense now. so the only way i would be able to program a bare avr chip is to either get a programmer, or to try using the programming interface conversion process described on the internet. thanks a bunch!