Engineering & HardwareOpen accessPublished 3 Oct 2026
Use when implementing or assessing timing, scheduling and interrupt behavior in an Arduino sketch or library — replacing delay() with a millis()/micros() state machine, debouncing a button or encoder (including one that is also an interrupt source), writing an ISR safely, running several periodic behaviors out of one loop(), costing out blocking that has no delay() in it, reaching for a hardware timer interrupt, or deciding whether a cooperative scheduler is enough versus graduating to a FreeRTOS task on ESP32. Owns the mechanism choice on every target, AVR included. Not for severity-rated defect reports on existing code (arduino-code-review) or chip-specific timer regist…