Is it possible to use internal interrupts, like Timer0 Int etc.? I could find handling external interrupts in the reference only.
It is, but you'll have to use straight-up avr-libc (there's no beginner-friendly Arduino methods). See
http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html
fyi: millis() uses the timer0 overflow - see /hardware/cores/arduino/wiring.c. It uses the old style declaration, it should probably be changed to
ISR(TIMER0_OVF_vect) {
...
}
There's also MsTimer2 interface for setting up timer-based interrupts on Timer2 easily.
http://www.arduino.cc/playground/Main/MsTimer2
!c
with the exception of timer0 overflow, you can define any interrupt you want within arduino.