Description
Who Should Attend
This course is designed for professionals working on embedded systems who want to build or strengthen their RTOS capability, including:
• Embedded Software Engineers
• Firmware Developers
• Systems Engineers
• Engineers transitioning from bare-metal to RTOS-based systems
• Technical Leads and Senior Engineers
Learning Objectives
By the end of this course, participants will be able to:
• understand the architecture and core concepts of Zephyr RTOS
• develop applications using tasks, threads, and scheduling mechanisms
• manage concurrency and shared resources safely
• work with timers, interrupts, and real-time behaviour
• integrate and configure device drivers and hardware interfaces
• use Zephyr’s build system and tooling effectively
• design embedded systems that are scalable, maintainable, and reliable
Course Content
Introduction to Zephyr RTOS
Participants begin by understanding the role of RTOS in modern embedded systems and how Zephyr fits within this landscape.
Topics typically include:
• RTOS fundamentals and when to use them
• overview of Zephyr architecture and design principles
• comparison with bare-metal development
• understanding Zephyr’s ecosystem and supported platforms
Development Environment and Tooling
Participants set up and work with the Zephyr development environment.
Topics typically include:
• installing and configuring the Zephyr toolchain
• using West (Zephyr’s meta-tool)
• project structure and configuration
• building, flashing, and debugging applications
Threads, Scheduling, and Task Management
This section focuses on how Zephyr manages execution and system behaviour.
Topics typically include:
• thread creation and management
• scheduling policies and priorities
• context switching and execution flow
• designing responsive and efficient task structures
Inter-Thread Communication and Synchronisation
Participants learn how to safely manage shared resources and communication between threads.
Topics typically include:
• semaphores, mutexes, and message queues
• avoiding race conditions and deadlocks
• synchronisation patterns in embedded systems
• designing safe and predictable concurrent systems
Timers, Interrupts, and Real-Time Behaviour
This section focuses on handling time-critical operations and external events.
Topics typically include:
• software timers and delays
• interrupt handling in Zephyr
• designing for deterministic behaviour
• balancing responsiveness with system stability
Device Drivers and Hardware Integration
Participants explore how Zephyr interacts with hardware and peripherals.
Topics typically include:
• device model and driver architecture
• working with GPIO, sensors, and peripherals
• configuring hardware using Devicetree
• integrating and extending drivers
Memory Management and System Resources
This section focuses on efficient use of limited embedded resources.
Topics typically include:
• memory allocation strategies
• stack and heap management
• optimising resource usage
• debugging memory-related issues
Networking and Connectivity (Optional / Platform Dependent)
Where relevant, participants explore connectivity features within Zephyr.
Topics typically include:
• networking stack overview
• communication protocols
• integrating connected devices into systems
• building IoT-enabled embedded solutions
Debugging, Testing, and Optimisation
Participants learn how to identify and resolve issues in RTOS-based systems.
Topics typically include:
• debugging tools and techniques
• logging and tracing
• performance monitoring
• system optimisation and tuning
Practical Application and Case Studies
The course includes extensive hands-on exercises to reinforce learning.
Participants will:
• build and extend realistic embedded applications using Zephyr
• apply RTOS concepts in practical scenarios
• troubleshoot and refine system behaviour
• explore best practices for production-ready systems
Delivery Approach
This is a hands-on, engineering-focused programme with a strong emphasis on practical application.
It includes:
• instructor-led sessions
• guided coding exercises
• real-world embedded scenarios
• collaborative problem-solving and discussion
Duration
5 Days
Delivery Options
This course can be delivered as:
• a public scheduled course
• a private team programme
• virtual delivery
• on-site classroom training
Outcomes
After completing this course, participants will be able to:
• develop embedded applications using Zephyr RTOS with confidence
• manage tasks, timing, and concurrency effectively
• integrate hardware and software within an RTOS environment
• build systems that are scalable, reliable, and maintainable
• apply RTOS principles to real-world embedded projects
Additional Notes
This programme is particularly valuable for teams moving from bare-metal development to RTOS-based systems, or those looking to standardise on a modern, scalable embedded platform.
Participants are encouraged to bring their own use cases or system challenges, allowing learning to be applied directly to their development environment.
Senior Software Architect & Development Instructor
Microsoft MVP | 30+ Years Engineering Experience
This course is presented by Peter
Peter brings more than 30 years of experience in software architecture, development, and technical training, helping engineering teams design, modernise, and improve complex systems across enterprise, cloud, embedded, and data-driven environments.
He has been exploring the role of AI in software engineering since the early wave of modern AI tooling, focusing on how development teams can use AI productively while maintaining strong engineering standards, governance, and architectural discipline.
Alongside his engineering background, Peter has a Master’s level background in Mathematics and is currently working towards a PhD, bringing deep analytical insight into how AI systems behave and how engineers should evaluate and integrate them responsibly.



