A Quick question before i get started. Can the ATmega168 chip be removed from the Diecimila to install in another project or is it part of this board.
It can be removed. Check the forum for threads on minimalist Arduino’s, but the basic idea is you will want an external crystal/resonator, a regulated power supply, and a couple of filter capacitors for extra stability.
Several people have been going this route; programming the ATmega168 on the Arduino platform, then prying the chip out of the socket and sticking it somewhere else. Just remember, if you want fresh chips, you need to purchase ones with the bootloader pre-burned onto them. LadyAda, I know, sells pre-burnt chips. SparkFun, I believe, does not. Read the product description carefully when buying a new ATmega168 to replace the one you pried out.
I want to get started with micro controllers by making simple projects and building on that knowledge, but Im not sure if I want to keep using the same board.
Maybe someone can suggest a programmer I can use.
A hundred people will give you a hundred answers. Me, I like the AVR family, and I was especially attracted to the smaller-footprint ATtinys. So the route I chose was ISP (In-System Programmer) and “minimalist target board” (basically, like the minimal Arduino above, only with the addition of a standard programming header).
You can actually use the Arduino itself as an ISP (there’s discussion of that in other threads here – sorry, don’t have time to search myself at moment). Personally, I chose one of LadyAda’s very cute “USBtinyISP” kits. So far, I’ve only gotten to “Hello World” but I found it pretty painless to set up and use. It’s still a USB cable, I can still write code on my laptop and load it into the chip from there. There’s even a nice environment (for PC users. Sigh). But it ain’t so bad writing code in text, then going into Terminal to fire up the software chain that does the actual burning.
Not as painless as Arduino, though! Consider the price and footprint (and the Arduino-compatible options) versus the time to learn how to use naked C in a command-line environment, and you might end up just using an Arduino or two after all.