Description
Course Overview
Modern embedded systems often need to perform multiple activities at the same time while responding predictably to real-time events.
Real-time operating systems (RTOS) provide the framework required to manage tasks, timing and communication within embedded firmware.
This course introduces engineers to real-time embedded systems development using FreeRTOS and demonstrates how multitasking firmware can be structured on STM32 microcontrollers.
Participants explore how tasks are scheduled, how software components communicate and how real-time systems are designed to respond reliably to external events.
The workshop focuses on practical implementation, allowing engineers to build and test multitasking firmware applications on embedded hardware.
Hands-On Embedded Development
Participants complete practical exercises using the Ratio Embedded Systems Development Kit, which includes an STM32 microcontroller development board and supporting hardware modules.
The development kit is shipped to participants prior to the course so that practical labs can be completed during the training.
Throughout the course engineers implement firmware that demonstrates:
• task scheduling
• inter-task communication
• synchronisation techniques
• time-based events
• multitasking embedded applications.
This hands-on approach allows participants to understand how real-time systems behave when interacting with real microcontroller hardware.
Course Topics
Introduction to Real-Time Embedded Systems
• real-time system concepts
• deterministic system behaviour
• cooperative vs pre-emptive scheduling
• architecture of real-time embedded systems.
FreeRTOS Architecture
• FreeRTOS kernel overview
• task creation and lifecycle
• priorities and scheduling
• system tick and timing.
Task Management
• creating and managing tasks
• stack management
• task priorities
• cooperative and pre-emptive scheduling.
Inter-Task Communication
• queues and message passing
• data sharing between tasks
• designing task communication patterns.
Synchronisation Techniques
• semaphores
• mutexes
• critical sections
• preventing race conditions.
Timers and Time-Based Events
• software timers
• periodic tasks
• event-driven firmware.
Designing Multitasking Embedded Systems
• structuring RTOS-based firmware
• designing maintainable embedded systems
• debugging multitasking firmware.
Who Should Attend
This course is designed for engineers developing firmware for microcontroller-based systems.
Typical participants include:
• embedded software engineers
• firmware developers
• engineers working with ARM Cortex-M microcontrollers
• developers building real-time embedded systems.
Requirements
Participants should have experience with the C programming language and basic familiarity with microcontroller development.
Previous experience with real-time operating systems is not required.
Instructor Experience
This course is delivered by an experienced embedded systems engineer with extensive industry experience developing firmware for microcontroller-based systems.
The instructor has worked on real embedded projects involving multitasking firmware, RTOS-based systems and ARM Cortex-M platforms.
Participants benefit from practical insights into how real-time operating systems are used in production embedded systems.
Private Team Training
This course is also available as private training for engineering teams.
Private delivery allows the workshop to be adapted to the embedded platforms and development environments used within your organisation.
This format works particularly well for teams developing embedded products who want engineers to work through the labs together.
Private training is available for teams of four or more engineers.
Course Duration
3 Days – Live Virtual Instructor-Led Training
Participants interact directly with the instructor while completing practical firmware exercises.
Hardware Development Kit
Participants complete the practical exercises using the Ratio Embedded Systems Development Kit, which includes:
• STM32 microcontroller development board
• sensors and interface modules
• display module
• embedded development tools.
The development kit is shipped before the course and remains with participants after the training so they can continue experimenting with embedded development.
Client Feedback
Feedback from engineers who have attended our embedded systems training highlights the practical and hands-on nature of the workshops.
Participants particularly value the opportunity to work directly with real microcontroller hardware while exploring firmware development techniques that can be applied immediately in their own projects.
Typical feedback from attendees includes:
• “Excellent practical course with real embedded development examples.”
• “The instructor explained complex concepts clearly and related everything to real firmware development.”
• “Very useful for understanding how to structure embedded software projects.”
• “The hands-on exercises made the learning much easier to apply.”





