Timing
Universal Timer with 1 millisecond resolution, supporting OOP principles.
Each instance is configurable to be either recurring or non-recurring, timer interval/timeout time configurable, attaches automatically in the background to a Timer Context which periodically updates all registered timers' states (to be driven by the main loop) and performs the timer expire evaluation for each registered timer, handles unsigned long int overflows correctly.
Maintainer: Dieter Niklaus
This library is compatible with all architectures so you should be able to use it on all the Arduino boards.
To use this library, open the Library Manager in the Arduino IDE and install it from there.