Millis su ATmega8, tempi sballati

Su un progettino ho usato un ATmega8 e ho notato che millis() scorre più veloce del normale. Diciamo che per avere pause di 1 secondo devo impostare 1783 anzichè 1000, questo valore non è nemmeno tanto accurato perchè non ho mezzi per poter fare una misurazione precisa. Ho provato sull'ide 0.22 e sull'ide 1.0.5, clock 1 e 8 MHz oscillatore interno ed il problema rimane. I fuse sono corretti, idem per il file boards.txt con le relative configurazioni. Si può intervenire in qualche modo per sistemare le cose?

Prova a compilare ed eseguire lo Speed Test --> http://playground.arduino.cc/Main/ShowInfo?action=sourceblock&num=1

La Wire.h è usata solo per l'i2C, se non ti serve commentala e togli la relativa parte.

Mi sa che è troppo grande per 8K. :(

Bellissimo tool, non lo conoscevo. Ho fatto il test su un ATmega328 a 16 MHz e su un ATmega8 a 8 MHz per avere un riscontro:

Speed test               ATmega328 @ 16MHz  VS  ATmega8 @ 8MHz
----------
  F_CPU =                     16000000 Hz          8000000 Hz
  1/F_CPU =                     0.0625 us           0.1250 us
  delay(1)                  : 1006.987 us         1014.500 us
  delay(100)                : 99999.984 us      100000.000 us
  delayMicroseconds(1)      : 0.883us                1.660 us
  delayMicroseconds(5)      : 4.656 us               4.802 us
  delayMicroseconds(100)    : 100.237 us           100.450 us

Ma l'errore non é saltato fuori? Non é che nel tuo sketch hai un ritardo nascosto?