Embedded Systems Development Courses

C Language for Embedded Microcontrollers for Experienced C Programmers Training

Embedded Software Engineer Series - 4 Days

This course focuses on programming microcontrollers, particularly Cortex-M-based MCUs, using the C language. Participants will gain hands-on experience with bare-metal programming on an STM32F4 MCU (Cortex-M4 core) while understanding toolchains, debugging techniques, and performance optimization.

Multi-Core and Real-Time Programming Training

Embedded Software Engineer Series - 5 Days

This course provides a deep understanding of programming real-time and multi-core systems on Linux while avoiding common pitfalls. Participants will master concurrency, real-time constraints, and debugging techniques, learning to effectively leverage the primitives offered by modern operating systems.
Through a mix of theoretical lessons and hands-on exercises, trainees will gain practical experience in multi-tasking, synchronization, scheduling, and kernel-level programming in real-time environments.

UML for Embedded and Real-Time Systems Training

Embedded Software Engineer Series 4 Days

This course provides an in-depth exploration of UML (Unified Modeling Language) for embedded and real-time systems. Participants will learn how to apply UML and its real-time extensions across analysis, design, and coding phases for embedded system development.
Trainees will develop a model for a realistic real-time embedded system based on its requirement specification using Papyrus (an Eclipse-based UML tool) or, upon request, Enterprise Architect – Professional Edition.

Software Architecture with UML Training

Embedded Software Engineer Series - 4 Days

This course provides a comprehensive understanding of software architecture, including methods, languages, and best practices. Participants will learn how to design, describe, and evaluate software architectures using UML, as well as apply key architectural patterns and frameworks.

Through theoretical lessons and practical exercises, trainees will gain hands-on experience in defining software architectures using various perspectives, views, and industry-standard processes.

STM32 + FreeRTOS + LwIP Training

Embedded Software Engineer Series - 5 Days

This hands-on training covers the STM32 ARM-based MCU family, the FreeRTOS Real-Time Operating System, the LwIP TCP/IP Stack, and optionally, the EmWin GUI Stack. Participants will gain a deep understanding of STM32 architecture, real-time operating system concepts, and networking with LwIP.
This course covers:

Understand the Cortex-M architecture and its software implementation.

Learn interrupt handling in STM32.

Gain insights into STM32F4 architecture, including key interconnected modules (clocking, interrupt controller, DMA).

Work with independent I/O modules like ADC and GPIOs.

Learn STM32 peripheral programming using STM32Cube Library or ST Standard Peripheral Library.

Master FreeRTOS architecture, services, and APIs.

Develop and debug FreeRTOS applications.

Understand and implement the LwIP TCP/IP stack (networking with UDP and TCP, Ethernet Controller, parameterizing, porting). (Not available for STM32F0 family).

Optionally, explore TouchGFX and EmWin GUI Stack for graphical user interfaces.

Zephyr RTOS Programming Training

Embedded Software Engineer Series - 5 Days

This comprehensive hands-on training introduces participants to Zephyr RTOS, a scalable, real-time operating system for embedded systems.
The course covers:
Developing, configuring, debugging, and tracing Zephyr applications.
Device tree (DT) and Kconfig usage and development.
Managing threads, synchronization, memory, and interrupts in Zephyr.
Using west and writing west manifests for project management.
Zephyr kernel services, subsystems, and device drivers.
Hands-on implementation of Zephyr’s multitasking and real-time capabilities.

Internet of Things (IoT) on Microcontrollers Training

Embedded Software Engineer Series - 3 Days

This hands-on training course provides an in-depth exploration of IoT technologies, focusing on microcontroller-based IoT solutions. Participants will gain practical experience with industry-standard communication protocols, security frameworks, and real-world IoT deployments.
The course covers:

Deploying and configuring a local open-source IoT platform.

Understanding and implementing IoT Edge-to-Cloud communication protocols (MQTT, MQTT-SN, CoAP).

Analyzing IoT security threats and applying protection measures across the IoT stack (devices, communication networks, cloud).

Configuring LwIP (with MQTT), FreeRTOS, and MbedTLS for STM32-based IoT applications.

Exploring the Amazon FreeRTOS architecture and its IoT libraries.

Hands-on lab exercises with STM32-based boards connected via Wi-Fi or Ethernet to a private cloud server.

Real Time Programming with FreeRTOS Training

Embedded Software Engineer Series - 3 Days

This course provides a comprehensive introduction to real-time operating systems (RTOS) with a focus on Cortex-M4 architecture and FreeRTOS. Participants will gain a deep understanding of real-time multitasking, including key constraints such as determinism, preemption, and interrupts. The course covers the architecture of FreeRTOS, its core services, and how to efficiently develop and debug FreeRTOS-based applications.
The training combines theoretical learning with hands-on practical activities, making up 40%–50% of the course. Participants will work with code examples, exercises, and solutions using a Linux or Windows PC, with target boards provided for onsite sessions. A preconfigured virtual machine is also available for post-course practice.

To ensure a strong foundation, attendees should have prior experience with embedded C programming and a basic understanding of embedded processors. The course is designed for embedded systems engineers and technicians seeking to enhance their skills in real-time systems development.

Evaluation includes practical exercises and quizzes, with participants receiving a certificate of completion upon successfully demonstrating their skills. If any prerequisite gaps are identified, additional training recommendations will be provided in coordination with the trainee’s company.