I've been looking at this lately as I'm running a home-made Arduino at 3.3v and find 8MHz is a bit too slow for my purposes.
At 12 MHz it appears that the millis() function will be out by 5.333 microseconds per millisecond. That is, the actual 'microseconds per timer0 overflow' appears to be 1365.333 but the millis() calculation is going to be based on 1360 microseconds per timer0 overflow. (Based on my understanding of the maths involved.)
That seems to be off by only about 0.4% - but in my application I'm relying on the time to be accurate, for a software RTC. It updates several times per day via GPS but in between updates it's relying on millis() for the timekeeping.
So I'm wondering, what sort of problem could happen if the microprocessor is run 'too fast'? Would that shorten the lifespan of the chip? Or does runing it out of spec lead to logic errors or something like that?
Essentially, what is the risk of running the arduino too fast?
Thanks!