Embedded C++ for Microcontrollers
Ratio
Scalable Firmware Design with STM32
Summary
- Tutor is available to students
Add to basket or enquire
Dates
Overview
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.
Sidebar navigation
Legal information
This course is advertised on Reed.co.uk by the Course Provider, whose terms and conditions apply. Purchases are made directly from the Course Provider, and as such, content and materials are supplied by the Course Provider directly. Reed is acting as agent and not reseller in relation to this course. Reed's only responsibility is to facilitate your payment for the course. It is your responsibility to review and agree to the Course Provider's terms and conditions and satisfy yourself as to the suitability of the course you intend to purchase. Reed will not have any responsibility for the content of the course and/or associated materials.