Простой софт-таймер для Arduino

// --- глобально
uint32_t softTimer = 0;             // переменная для захвата текущего времени

// --- где то в коде
 softTimer = millis() + 1000;       // назначаем таймер на 1с
 while(softTimer > (millis()));     // крутимся в цикле пока время меньше заданного таймаута

// --- или периодически
 if(softTimer<(millis())){
    //code
    softTimer = millis() + 10000;   // перевзводим на 10 сек
 };

Изменено: