Skip to main content

FreeRTOS tutorials

This section regroups tutorials to get started with FreeRTOS and STM32.


It covers FreeRTOS instantiation into an existing bare-metal project and illustrated examples of kernel objects for task synchronization:

  • Binary Semaphores
  • Mutex
  • Message Queues
  • Event Groups
  • Notifications
  • Interrupts
  • Timers
  • ...


After completing this tutorials, you should be able to:

  • Create a FreeRTOS project from scratch on virtually any MCU. What works for STM32 works the same for all ARM based MCU and beyond.
  • Invent your RTOS architecture by choosing, among various synchronization mechanisms, those that best meet your requirements
  • Implement code using the FreeRTOS API directly
  • Make good use of hardware interrupts in the context of an RTOS
  • Understand memory usage
  • Deploy debug strategies that are specific to RTOS (tracing, memory monitoring) on top of the usual debug approaches (console print, code stepping, etc...)