Zephyr RTOS Course: Understanding the Fundamentals
Our specialized Zephyr RTOS training provides a deep understanding of the Zephyr RTOS (real-time operating system) development fundamentals. The course covers the basics of Zephyr RTOS, making it suitable for beginners who want to build a strong foundation. Zephyr RTOS is a project supported by the Linux Foundation, which ensures the course is built on credible and industry-recognized standards.
Conducted by expert Mieszko Mierunski, this intensive 2-day training is based on the Zephyr Essentials course structure, ensuring a comprehensive foundation for all participants. The program combines carefully structured detailed presentations and practical exercises which let participants get a full understanding of application structure, kernel primitives, and device drivers, while gaining practical experience working with popular hardware platforms.
The training dives into many specifics of the Zephyr RTOS such as inter-task communication, memory management, and interrupt handling. You’ll also discover how to configure and build your own custom board definitions, empowering you to bring your unique embedded projects to life. It’s also useful to attendees working on nRF Connect SDK from Nordic Semiconductor.
A significant part of the course is dedicated to practical exercises. Lab sessions are structured to allow for direct, one-on-one interaction with the trainer on the course material and with practical implementation, covering Zephyr Essentials through hands-on labs.
Zephyr RTOS Fundamentals
Our Zephyr RTOS training provides a deep understanding of the Zephyr RTOS (real-time operating system) development fundamentals.
Conducted by expert Mieszko Mierunski, this intensive 2-day training combines carefully structured detailed presentations and practical exercises which let participants to get a full understanding of application structure, kernel primitives, and device drivers, while gaining practical experience working with popular hardware platforms.
The training dives into many specifics of the Zephyr RTOS such as inter-task communication, memory management, and interrupt handling. You'll also discover how to configure and build your own custom board definitions, empowering you to bring your unique embedded projects to life. It's also useful to attendees working on nRF Connect SDK from Nordic Semiconductor.
A significant part of the course is dedicated to practical exercises. Lab sessions are structured to allow for direct, one-on-one interaction with the trainer on the course material and with practical implementation.
Who is this training for?
Certifications are obtained at the end of course.
Hands-on experience
Throughout the training, you’ll participate in hands-on exercises to reinforce your learning by connecting and working with various hardware components. You’ll work with real hardware platforms, including the NRF54L15 by Nordic Semiconductor and STMicroelectronics MCUs.
Participants will learn how to flash and update firmware on these devices as part of the embedded system development process. If supported by the hardware, you will also configure Wi-Fi connectivity during the hands-on labs.
Personalized training
Thanks to the fact that all our trainings are instructor led courses, we can create a personalized training program for you or your team, either on-site or remotely.
Contact us to discuss your specific needs.
Objectives
-
Master application development for embedded systems using Zephyr RTOS.
-
Understand the embedded development workflow, including cross-platform firmware creation for IoT devices.
-
Learn to use essential tools such as CMake, Kconfig, Devicetree, and Docker for configuring, building, and managing Zephyr projects.
-
Setup local environment for Zephyr development, including modern IDEs like VS Code and workspace configurations.
-
Learn how to develop Zephyr applications efficiently using recommended tools and extensions.
-
Access and utilize resources for further learning, such as official Zephyr documentation and community guides.
-
Understand when and why to use Zephyr for professional embedded projects.
-
Learn how to develop, configure and debug Zephyr applications.
-
Understand hardware description using Device Tree Specification.
-
Learn to configure software components using Kconfig.
-
Discover how real time multitasking is done and what scheduling options are available.
-
Learn communication and synchronization mechanisms.
-
Understand Zephyr memory management and data structures.
-
Support your own hardware board.
-
Learn how kernel initialization happens.
Zephyr Course Program
Day 1:
Zephyr RTOS programming overview
- What is Zephyr project and Zephyr RTOS
- Differences with other RTOS (especially FreeRTOS)
- Pros and cons of Zephyr
- Real-Time Systems Fundamentals: Introduction to key RTOS concepts such as the scheduler, which is responsible for task management and multithreading in Zephyr RTOS, enabling efficient operation of embedded systems and IoT devices
Workshop - 5h
Introduction to Zephyr RTOS:- Building Zephyr Applications – Participants will have access to code examples to help them build and test features.
- Setting up Zephyr Development Environment on Linux/Windows/Docker – The setup is performed on your computer, including installing necessary programs and tools.
- How to use VS Code for Zephyr development – Learn to develop Zephyr applications using this environment.
- Cross Compilation and Zephyr SDK
- Our first Blinking LED
- Exercise: Our first Zephyr application, including writing code within the IDE.
Application configuration - based on nRF devices:
- Device Tree and overlays – Includes the process of writing and integrating a custom device driver.
- KConfig and custom options, config overlays
- Zephyr Device Driver Model
- Custom device tree specification
- Zephyr’s printk
- Introduction to Zephyr’s Log Module
- Exercise: Using logger module in applications
- Real-Time Systems Fundamentals - Task scheduling and pre-emption patterns
- Thread management and Task lifecycles
- Workqueues and their applications
- Exercise: Threads and workqueue cooperation
Day 2:
Workshop - 5h
Kernel Boot sequence:- Early Boot sequence
- Kernel initialization
- Intertask communication mechanisms (FIFO, LIFO, Message queues…)
- Semaphores and Mutexes
- Polling API and multiple events
- Periodic threads
- Asynchronous and synchronous communication
- Creating a kernel Timer
- Using Expiry Function
- Exercise: Using timers and semaphores
- Queues
- Stacks
- Mailboxes
- Pipes
- Basic interrupt handling based on Button GPIO Interrupt
- Exercise: Using GPIO interrupt handler
- Exercise: Producing messages in interrupt and handling in thread
- Introduction to west commands
- Introduction to west manifests
- Application configuration regarding Hardware Model
- Creating out of tree applications
- Creating custom basic modules
- Exercise: Creating west manifest application repository
- Memory Management (Heaps, Slabs, Pools)
- Memory-based inter-process communication
- Creating custom board files
- Integrating board into application
- Make board detectable by Zephyr build system
- Exercise: Add custom board files based on existing development kit
Need a training?
Our Trainers
Mieszko Mierunski
Low Power Wireless Expert | CEO at Hacod | IoT, LwM2M & Zephyr
Mieszko Mierunski has a unique set of qualifications and experience that ensure that course participants receive training of a very high standard:
- Involved with Zephyr RTOS since 2018 when in Nordic Semiconductor he was responsible for integrating nRF series MCUs with Zephyr.
- Actively contributed to how device drivers extract information from Device Tree Specification.
- Author and maintainer of UART Asynchronous API in Zephyr RTOS.
Began teaching Zephyr RTOS programming courses in 2021. - Regular Zephyr Developer Summit speaker and Zephyr Technical Steering Committee member from 2021 to 2024.
- Involved with LwM2M protocol development and product creation since 2021.

Jakub Zimnol
Embedded System Engineer & Trainer @ Hacod
Teaching Assistant @ AGH University of Krakow
Tutor since 2017. Low-level programming enthusiast since 2021 (because someone has to love registers and memory maps). Zephyr programmer and contributor since 2022. Teaching assistant at AGH University of Krakow since 2024.
Organized and self-motivated Master's Electronics & Telecommunication graduate with 3+ years of combined internship and industry experience. Fluent in C (the language of embedded dreams) and capable of convincing even the most stubborn processors to follow instructions.
Speaks UART, I2C, Bluetooth, LwM2M, MQTT, and a few other machine dialects - usually more fluently than human languages. Enjoys a good three-day debugging marathon. Constantly learning and building new things, often just for the challenge (because who doesn't want to write their own bootloader?).
Loves teaching, explaining complex topics simply, and helping others navigate the tangled world of embedded systems - preferably without tears.

Need a training?
Training Materials
Course participants receive all of the slides and source code of exercises presented in the course.
Participants will also receive additional resources, such as reference guides and documentation, to support their continued learning.
After successfully completed course participants receive certification.
What our customers say
“Mieszko's commitment to supporting sales opportunities is truly commendable. He is always receptive to customer requirements, engaging in thoughtful discussions, and ensuring that our solutions align seamlessly with their needs.“
"The two-day HACOD training balanced structure with flexibility —Mieszko adapted the content to both my needs as someone newer to MCUs and those of my colleagues with extensive experience with embedded systems. The hands-on, follow-along Zephyr exercises used the exact hardware we needed — the nRF52840 — and were especially helpful in solidifying the concepts. Mieszko is highly knowledgeable and responded to questions with just the right level of depth for each participant.“
“Working with Mieszko has been a pleasure. His deep expertise in Zephyr allowed him to quickly grasp our needs and contribute effectively from the start. He’s also demonstrated great flexibility in scaling his support as required.”
Closest dates:
On demand
Register for the training
Email: contact@hacod.tech