Skip to content
Embedded C++ for Microcontrollers  cover image

Embedded C++ for Microcontrollers
Ratio

Scalable Firmware Design with STM32

Summary

Price
£1,695 inc VAT
Study method
Distance + live classes
Duration
3 days · Full-time
Qualification
No formal qualification
Additional info
  • Tutor is available to students

Add to basket or enquire

Dates

Start date
End date
23/06/2026
25/06/2026
Additional info: 9.30am - 5.00pm
15/09/2026
17/09/2026
Additional info: 9.30am to 5.00pm
10/11/2026
12/11/2026
Additional info: 9.30am to 5.00pm
23/02/2027
25/02/2027
Additional info: 9.30am to 5.00pm

Overview

Embedded software projects are becoming increasingly complex, requiring firmware that is modular, maintainable and scalable. While many embedded systems are traditionally developed using the C programming language, modern C++ provides powerful tools that allow engineers to structure embedded firmware more effectively.

This practical course introduces modern C++ techniques for microcontroller-based systems. Participants explore how object-oriented design, templates and compile-time techniques can be applied safely in embedded environments without compromising performance or memory usage.

Using an STM32 microcontroller platform, engineers work through practical exercises that demonstrate how to design reusable drivers, hardware abstraction layers and modular firmware components.

The workshop focuses on practical firmware development and demonstrates how modern C++ can improve the structure, maintainability and scalability of embedded software projects.

Course media

Description

This course explores how modern C++ can be applied effectively in microcontroller-based embedded systems.

Participants learn how to move beyond traditional procedural firmware development and instead design modular embedded applications using object-oriented techniques and reusable components.

During the workshop engineers develop firmware on an STM32 microcontroller platform while exploring topics such as:

• C++ language features appropriate for embedded systems
• object-oriented firmware architecture
• hardware abstraction layers
• template-based drivers
• compile-time configuration techniques
• memory-aware software design for microcontrollers

Practical exercises demonstrate how these techniques can be applied in real embedded systems development, helping engineers design firmware that is easier to maintain and extend as projects grow.

Participants complete practical exercises using the Ratio Embedded Systems Development Kit, allowing them to experiment with embedded firmware development on real hardware during the course.

By the end of the workshop participants will understand how modern C++ can be used to improve the structure and quality of embedded software while maintaining the performance characteristics required for microcontroller environments.

Duration

3 Days – Live Virtual Instructor-Led Training

Delivery Format

The course is delivered as a live instructor-led virtual workshop.

Participants interact directly with the instructor while completing practical firmware development exercises and exploring modern embedded software design techniques.

The workshop format allows engineers to apply concepts immediately through hands-on labs using real hardware.

Hardware Development Kit

Participants complete practical exercises using the Ratio Embedded Systems Development Kit, which includes an STM32 microcontroller development board, sensors and interface modules.

The development kit is shipped to participants prior to the course so they can complete the hands-on labs during the workshop.

Participants keep the development kit after the course, allowing them to continue experimenting with embedded firmware development.

Instructor Experience

This course is delivered by an experienced embedded systems engineer with extensive industry experience developing firmware for microcontroller-based systems using C and C++.

The instructor brings practical insight from real embedded development projects, helping participants understand how modern C++ techniques can be applied effectively in resource-constrained environments.

Throughout the course participants benefit from guidance based on real engineering challenges, including firmware architecture design, reusable driver development and modular embedded software design.

Private Team Training

This course is also available as private training for organisations and engineering teams.

Private delivery allows the workshop to be adapted to the embedded platforms, development environments and firmware architectures used within your organisation.

This format works particularly well for teams who want to introduce modern C++ practices into embedded projects and improve the structure of their firmware codebases.

Private training is available for teams of four or more engineers and can be delivered virtually or onsite.

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.”

Our embedded training courses are designed to combine practical engineering experience with structured learning, helping engineers build skills that translate directly into real development work.

Who is this course for?

This course is designed for engineers who already have experience developing firmware and want to expand their skills to include modern C++ techniques for embedded systems.

Typical attendees include:

• embedded software engineers
• firmware developers
• engineers working with ARM Cortex-M microcontrollers
• developers building microcontroller-based products

The course is also valuable for teams that want to improve the maintainability and architecture of their embedded firmware projects.

Requirements

Participants should have prior experience with embedded programming and be comfortable working with the C programming language.

It is helpful to have familiarity with:

• microcontroller development concepts
• compiling and debugging embedded firmware
• hardware peripherals such as GPIO or communication interfaces

Previous experience with C++ is helpful but not required, as the course introduces the language features that are most relevant to embedded development.

Career path

Engineers who develop strong embedded C++ skills contribute to advanced firmware projects where scalable software architecture and reusable components are required

Relevant for roles such as:

• embedded software engineer
• firmware developer
• embedded systems architect
• IoT device developer

Understanding how to apply modern C++ techniques in embedded systems also helps engineers design firmware

Questions and answers

Reviews

Currently there are no reviews for this course. Be the first to leave a review.

FAQs