Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Video · OtherFree

Introduction to RTOS (video series)

A free 12-part video series by Shawn Hymel for DigiKey that teaches real-time operating systems through FreeRTOS on an ESP32 in the Arduino environment, with a challenge and a written solution for every part. The friendliest way into tasks, queues, mutexes and priority inversion.

Parts

12

GitHub (ShawnHymel/introduction-to-rtos) · Sept 2026

Format

Video

Topic

Other

Provider

DigiKey (Shawn Hymel)

Time needed

12 parts, about 2 to 3 weeks with the challenges

Level

Intermediate

Access

Free

What the series covers

Introduction to RTOS is a video course made by Shawn Hymel and published by DigiKey. It explains what a real-time operating system is and then teaches each core idea hands-on with FreeRTOS running on an ESP32 development board, programmed from the Arduino environment. The twelve parts are: what is an RTOS, getting started with FreeRTOS, task scheduling and management, memory allocation, queues, mutexes, semaphores, software timers, hardware interrupts, deadlock and starvation, priority inversion, and multicore systems.

Each part ends with a challenge. DigiKey's maker site publishes a written solution for each one, and the companion GitHub repository has demo code, challenge solutions and the slides.

Is it worth your time?

Yes, especially as a first RTOS course. The videos are short and focused, the explanations are clear, and the challenges force you to write concurrent code rather than only watch it. Because it uses an ESP32 with the Arduino tools, which already include FreeRTOS, you can start without installing a separate RTOS. The later parts on deadlock, priority inversion and multicore scheduling cover problems many tutorials skip, and they are the ones that cause real bugs in products.

Prerequisites and time

You should be comfortable with C or Arduino-style C++, and know what an interrupt is. An ESP32 development board is ideal, though the concepts apply on any FreeRTOS platform, including STM32. Watching all twelve parts and doing the challenges takes two to three weeks of evenings.

How to get the most from it

  • Do every challenge before looking at the solution, even if it takes several attempts.
  • Keep the FreeRTOS API reference open to check each function you use.
  • After each part, add the idea to your own project: a queue between two tasks, a mutex around a shared bus.
  • If you use STM32, redo a few challenges with FreeRTOS through STM32CubeMX to see the same ideas with a different wrapper.

What you can do after it

  • Create tasks with priorities and understand when each one runs.
  • Pass data with queues and protect shared resources with mutexes.
  • Use semaphores and software timers, and handle interrupts safely.
  • Explain deadlock, starvation and priority inversion, and design to avoid them.

Free or paid?

Free on YouTube, with free written solutions and code. The example code is released under the 0BSD licence and the slides under CC BY 4.0, according to the repository.

Common questions

Do I need ESP-IDF? No. The series uses the Arduino environment for the ESP32.

Is it enough on its own? It is an excellent start. Follow it with the free FreeRTOS book for depth.

Best for: learners moving from a single loop to multitasking firmware.

free courseopen source

Ready to start?

Opens on DigiKey (Shawn Hymel) in a new tab.

Open resource
Link broken or out of date?

Report a problem

With "Introduction to RTOS (video series)". Only Tauseef reads this.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.