Modern Bare-Metal Embedded C++ Programming from Ground Up™

No Libraries used, Embedded C++, ARM Cortex, ADC,UART,TIMERS, GPIO,SPI,I2C, Template Programming etc.

Welcome to the Modern Embedded C++ Bare Metal course.

This is a practical programming course on embedded systems programming using the C++ programming language. Key features of C++ such as template programming and object-oriented programming can greatly improve embedded software portability, in recent years this has made C++ very attractive to embedded developers.

The goal of this course is to teach you how to navigate the microcontroller reference manual and datasheet to extract the right information to professionally build peripheral drivers and firmware. To achieve this goal, no libraries are used in this course, purely bare-metal Embedded-C++ and register manipulations.

By the end of this course you will be able write drivers for peripherals like ADC, UART, PWM, GPIO, TIMER,I2C, SPI, etc. You will also master the ARM architecture and how to build professional embedded firmware for ARM processors.

Furthermore, you will master C++ key features like Object-Oriented methods, Template Programming, and optimization.



Frequently Asked Questions


When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Do I get a certificate?
Yes, after a successful completion of the course.

Course Curriculum


  Closing
Available in days
days after you enroll

Your Instructor


EmbeddedExpert™
EmbeddedExpert™

EmbeddedExpertIO is a community focused on professional embedded systems software programming.

Everyday we try to find the knowledge gaps that exist among current embedded systems developers, then put our minds and years of experience together to create a course to perfectly fill such gaps.

If you are new to embedded systems programming our community provides step-by-step courses that will take you from blinky to build your own rtos .

If you are an embedded systems developer who wants to specialize in some specific aspect of embedded systems programming, we also provide a wide range of specialization courses to help you master different aspects of embedded firmware development.

We look forward to welcoming you to EmbeddedExpertIO