Timer3 Arduino maximum period At the moment I'm trying to learn microcontrollers with Arduino, and have a problem with the timer.

Arduino works at 16MHz clock, and the best prescaler is 1024, which means the timer increments the value every 64 us. Timer 3 is a 16 bit timer, which gives us a maximum time of 64*65535= 4194240, ca. 4s

But what if I want to do a job every 8 seconds? Any idea?

Here's my code:

TCCR3A = 0;
TCCR3B = 0;  
TCCR3B |= (1&lt;&lt;WGM32); //CTC
TCCR3B |= (1 &lt;&lt; CS32);
TCCR3B |= (1 &lt;&lt; CS30);// 1024 prescaler 
TIMSK3 |= (1&lt;&lt;OCIE3A); 
sei();
You can't - not directly. Instead you do a job at a higher frequency which just counts. When it has counted enough you do your other job.

For instance, you might trigger your interrupt once a second. That interrupt just adds 1 to a count and returns. Unless that count just hit 8, when you reset the count to 0 and run your 8 second routine.