I what to develop my own project circuits from the ATmega168 up, with minimum of expense.
If a want to put my fully developed code on the ATmega168 , because I have a Seeeduino v1.1 Board where I can`t remove the ATmega168 chips.
If I get a ICSP programmer can I put the full program on a minimal board, ---- OR ----
Do I have to get a Arduino Duemilanove where I can put on the boot loader , transfer the program via USB, then remove the chip and put the fully coded chip on my project board.
I was working this out on the weekend. I thought it would be cheaper and I planned on using the Duemilanove to help bootload the chips. once the chips are bootloaded i planned on using the ftdi cable to program it.
However when I was pricing it out, it did not work out to be economical. It is way cheaper to buy a RBBB from moderndevice.com and an easybub to help transfer. Using digikey as a supplier, all the parts I would need were coming up to 13 bucks, the RBBB is 11 bucks. Plus the shipping is cheaper. Plus it comes with a nice compact PCB so I don't need a breadboard with a plethora of wires. Plus the easybub connector is cheaper than the ftdi to usb cable.
The simplest way might be to use an Arduino with a 28-pin DIL socket as a programmer, and then swap the chip to your own board. If you don't mind re-thinking the programming arrangements, then yes, an AVR In-System Programmer will do it. I use the old serial version of the AVR-ISP, which connects to the six-pin header on an AVR board.
As for the crystal, yes, it's 16MHz. The case style is HC49,but make sure you get the low-profile variant. You'll also need a pair of 22pf capacitors, and suitable decoupling caps.
If you are a going to get a board with a removable chip you want to buy a ZIF
socket as well. I made a little adapter board with ZIF socket that plugs into the
28pin DIP socket. A lot less likely to damage the chip by bending the leads.
If you do much of this, there's a Diecimilla clone called the ZIFduino that has a ZIF socket. I like mine - very handy for developing circuits that don't have an ICSP, or for software development before eventual migration to dedicated hardware. Combined with a little breadboard style protoboard, it's a lot like breadboarding an entire Arduino, only way more convenient.