Las interrupciones en Arduino son generadas por un temporizador de hardware separado, que se encuentra en el microcontrolador en algún lugar cerca del núcleo. El temporizador de hardware, también conocido como contador, realiza una tarea muy simple: cuenta los «tics» del generador de reloj (que establece la frecuencia de todo el sistema) y, dependiendo del modo de funcionamiento, puede solo reiniciarse o enviar una señal al microcontrolador en ciertos valores de contador. Por lo tanto, la «resolución» del temporizador es un tic (reloj) del oscilador maestro, a 16 MHz es 0.0625 microsegundos. El segundo punto importante a entender es el siguiente: el temporizador-contador funciona y cuenta los pulsos en paralelo al núcleo computacional. Es por eso que la generación de una señal PWM, incluso a alta frecuencia, no tiene absolutamente ningún efecto en la ejecución del código, todo sucede en paralelo.