Zephyr RTOS Fundamentals
Our specialized 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.
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?
Hands-on experience
Personalized training
Objectives
- Setup local environment for Zephyr Development.
- 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.
Training Program
Day 1:
Zephyr Overview
- What is Zephyr project and Zephyr RTOS
- Differences with other RTOS (especially FreeRTOS)
- Pros and cons of Zephyr
Workshop - 5h
Introduction to Zephyr RTOS:-
-
- Building Zephyr Applications
- Setting up Zephyr Development Environment on Linux/WindowsDocker
- How to use VS Code for Zephyr development
- Cross Compilation and Zephyr SDK
- Our first Blinking LED using Zephyr RTOS
- Exercise: Our first Zephyr application
-
-
-
- Device Tree and overlays
- KConfig and custom options
-
-
-
- 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
- Threads 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
- 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 modules
- Exercise: Creating west manifest application repository
- Memory Management (Heaps, Slabs, Pools)
- Memory-based interprocess 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 exercises presented in the course.
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