Introduction to RTOS Part 8 - Software Timer | Digi-Key Electronics
In embedded systems, timers offer the ability to delay a call to a function, periodically call a function, or control some peripheral without the need for CPU intervention. In FreeRTOS, a software timer is controlled by a timer service task and can be used to execute a function some time in the future based on the RTOS tick timer. The solution to the challenge in the video can be found here: https://www.digikey.com/en/maker/proj... Code for this video series (including demonstrations, challenges, and solutions) can be found here: https://github.com/ShawnHymel/introdu... FreeRTOS gives us a software timer library that we can use to configure several timers. These timers are tied to the tick timer, so we cannot get a resolution greater than the tick timer’s resolution (1 ms by default in the ESP32 Arduino package). When we include the timer library, it will automatically spawn a timer service (or “daemon”) task that runs at priority 1 (default in ESP32 Arduino package). This service task is in charge of managing all of the software timers that are set. Timers can count up or down and can be set to “one-shot” or “auto-reload.” Whenever a counter reaches its maximum value (as set in code), it will execute the callback function associated with that timer. A “one-shot” timer will execute the callback function only once, unless the timer is told to start counting again. An “auto-reload” timer will execute the callback function periodically at a rate specified by the timer’s max value. In the video, we demonstrate the use of software timers and explain how they function within FreeRTOS. We also issue a challenge to create an auto-dimming LED feature whenever an interface is not being used. Product Links: https://www.digikey.com/en/products/d... Related Videos: Introduction to RTOS Part 1 - What is a Real-Time Operating System (RTOS)? - • Introduction to RTOS Part 1 - What is a Re... Introduction to RTOS Part 2 - Getting Started with FreeRTOS - • Introduction to RTOS Part 2 - Getting Star... Introduction to RTOS Part 3 - Task Scheduling - • Introduction to RTOS Part 3 - Task Schedul... Introduction to RTOS Part 4 - Memory Management - • Introduction to RTOS Part 4 - Memory Manag... Introduction to RTOS Part 5 - Queue - • Introduction to RTOS Part 5 - Queue | Digi... Introduction to RTOS Part 6 - Mutex - • Introduction to RTOS Part 6 - Mutex | Digi... Introduction to RTOS Part 7 - • Introduction to RTOS Part 7 - Semaphore | ... Introduction to RTOS Part 8 - • Introduction to RTOS Part 8 - Software Tim... Introduction to RTOS Part 9 - • Introduction to RTOS Part 9 - Hardware Int... Introduction to RTOS Part 10 - • Introduction to RTOS Part 10 - Deadlock an... Introduction to RTOS Part 11 - • Introduction to RTOS Part 11 - Priority In... Introduction to RTOS Part 12 - • Introduction to RTOS Part 12 - Multicore S... Related Project Links: https://www.digikey.com/en/maker/proj... Related Articles: https://www.digikey.com/en/maker/vide... Learn more: Maker.io - https://www.digikey.com/en/maker Digi-Key’s Blog – TheCircuit https://www.digikey.com/en/blog Connect with Digi-Key on Facebook / digikey.electronics And follow us on Twitter / digikey

Introduction to RTOS Part 9 - Hardware Interrupts | Digi-Key Electronics

"FreeRTOS Software Timers Explained | One-Shot & Auto-Reload | STM32 Hands-On Project"

Getting Started with PlatformIO

Introduction to RTOS Part 11 - Priority Inversion | Digi-Key Electronics

Introduction to RTOS Part 10 - Deadlock and Starvation | Digi-Key Electronics

Introduction to RTOS Part 1 - What is a Real-Time Operating System (RTOS)? | Digi-Key Electronics

Embedded systems RTOS Lecture

Get to know FreeRTOS from the Creator! - DesignWest 2013

Marokko – Haiti Highlights | Gruppe C, FIFA WM 2026 | sportstudio

I Hate Modern Desks... So I Built This.

Introduction to RTOS Part 7 - Semaphore | Digi-Key Electronics

#381 How to work with a Real Time Operating System and is it any good? (FreeRTOS, ESP32)

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

Real Time Operating Systems (RTOS) - Nate Graff

Introduction to RTOS Part 6 - Mutex | Digi-Key Electronics

Tschechien – Mexiko Highlights | Gruppe A, FIFA WM 2026 | sportstudio

Understanding Arduino Interrupts | Hardware, Pin Change & Timer Interrupts

