I found this example to timer2, written by Marc Wetzel some time ago. static void TimerTwoOverflow(void *arg) { ...code removed... } ...code removed... cli(); outp(0, TCNT2); outp(3, TCCR2); sbi(TIMSK, TOIE2); NutRegisterInterrupt(IRQ_TIMER2_OVF, TimerTwoOverflow, 0); sei(); ...code removed...