Mjukvarutimer
En timer som RTOS-kärnan räknar fram ur systemets tick i stället för ur ett eget hårdvaruregister, så att man kan ha hur många som helst.
En mikrokontroller har kanske fyra eller åtta hårdvarutimers, och de brukar redan vara upptagna av PWM, ADC-sampling och tick-avbrottet. Mjukvarutimern löser bristen genom att kärnan håller en sorterad lista över utgångstider och jämför mot tick-räknaren. När tiden är ute anropas en callback, antingen en gång (one-shot) eller periodiskt (auto-reload).
I FreeRTOS körs alla callbacks i en egen uppgift, timer service task, och styrs via en kommandokö. Det gör dem säkra att anropa från avbrott, men har ett pris: en callback som blockerar stoppar varenda annan timer i systemet. Upplösningen är dessutom aldrig bättre än en tick, så den som behöver mikrosekunder får gå tillbaka till hårdvaran.