ArduinoTimer aids in writing highly event driven code on Arduino Uno, Nano and other Atmega328P based boards. It uses Timer2 hardware internally to generate timing to determine when to make callbacks. This allows the CPU time to be used efficiently instead of wasting it on continuously polling. By putting the micro in different sleep modes while idle, power consumption can be greatly reduced.