Oscillator Question

EDIT: Sorry this should be moved to Hardware/Development. My bad.

I'm working on my own board design and I'm wondering if someone can explain to me the advantage/disadvantage of using an external oscillator. My board is based around the ATMega88 and I'm going to be using the Arduino bootloader to make it work. But I'd like to know why some designs use internal and some use external oscillators. Thanks!

-John

Internal oscillator is controlled by R/C components that drift with temperature. External oscillators are normally controlled by quartz crystal or ceramic resonator that have tighter specifications, so more accurate and tolerant of changes in ambient conditions. Not all applications are clock speed accuracy dependent, others are. So it is really a application based decision that justifies the cost/ benefit ratio of using external Vs internal oscillator.

Lefty

Accuracy and temperature independence, from worst to best: internal RC, resonator, crystal. On the other hand, cost and complexity, from lowest to highest, is the same list.

As an additional factor, the internal RC is about half as fast as an external clock source, so if you're doing lots of computing this could play a part. (In arduino-sized projects, I would hazard a guess that it does not most of the time).

Here are a couple of examples from my projects.

Project 1: dust collector motor controller. No critical timing, not even doing rs232 communications, temperature controlled environment. Simplest was to use internal RC at 8MHz (ala lillypad) to keep board complexity and parts count low.

Project 2: high altitude balloon payloads. Exposed to temperature extremes, timing fairly critical (e.g. rs232 coms with other equipment that could be drifting because of the cold). That one gets a crystal (and 2 caps), and I make sure the crystal is at leas industrial rated (-40C or less on the lower end of the operating range).

-j