STM32 Development Learning Path

8 courses | 90+ hours | Code Included | STM32F4 |F7|F3|L4|L0| STM32 HAL | STM32 LL | STM32 CUBEMX

8 courses | 90+ hours | Complete Source Code Included


1.Mastering STM32CubeMX 5 and CubeIDE

This course teaches you how build embedded systems firmware and peripheral drivers using the STM32CubeMX 5 framework and the STMCubeIDE development environment. This course has many sections but primarily the course can be divided into three parts.

The first part deals with peripheral driver development. In this part we master how to use the STM32CubeMX framework to setup the clocks and register parameters of our peripheral drivers and then go on to the CubeIDE development environment to complete the development and testing of peripheral drivers. We shall master different setup configurations of our peripheral drivers in this part. These peripherals include the Universal Serial Bus (USB), the PWM, the SPI, the ADC, UART and the DMA.

The second part of this master course deals with developing embedded firmware applications using some of the Middleware provided by the STM32CubeMX framework. One of such Middleware we shall master is the FreeRTOS Realtime Kernel. We shall see how to use STM32CubeMX to create tasks and semaphores and other kernel components for realtime firmware development. We shall also see how to develop these kernel components from scratch using our CubeIDE development environment alone.

The third part of the course deals with working the CubeIDE as a standalone development environment. Over here we shall see how to develop bare-metal embedded-c firmware and drivers without using any libraries. We shall literally download the microcontroller chip's datasheet and develop our firmware and drivers using information from the datasheet only. We shall then go on to use this same datasheet information to develop firmware and peripheral drivers using ARM Assembly Language.

2.Embedded Systems STM32 HAL APIs Driver Development

The STM32 Low-Layer APIs ( as known as LL) offers a fast light-weight expert-oriented layer which is closer to the hardware than the HAL APIs (Hardware Abstraction Layer). The LL offers low-level APIs at the register level with better optimization. These require deep knowledge of the MCU and peripheral specifications which we shall cover in this course.

With a programming based approach, this course is designed to give you a solid foundation in firmware and peripheral driver development for the STM32 family of microcontrollers. The goal of this course is to teach you how to navigate the microcontrollers reference manual and datasheet to extract the right information to professionally build peripheral drivers and firmware using the STM32 Low-Layer APIs

By the end of this course you will be able to develop drivers for peripherals like the ADC, UART,PWM, GPIO, TIMER,I2C, SPI, RTC, WWDG, IWDG, RCC, EXTI etc. You will also master the STM32 architecture and how to build professional embedded firmware for STM32 microcontrollers.


3.Embedded Systems STM32 Low-Layer APIs(LL) Driver Development

The STM32 Low-Layer APIs ( as known as LL) offers a fast light-weight expert-oriented layer which is closer to the hardware than the HAL APIs (Hardware Abstraction Layer). The LL offers low-level APIs at the register level with better optimization. These require deep knowledge of the MCU and peripheral specifications which we shall cover in this course.

With a programming based approach, this course is designed to give you a solid foundation in firmware and peripheral driver development for the STM32 family of microcontrollers. The goal of this course is to teach you how to navigate the microcontrollers reference manual and datasheet to extract the right information to professionally build peripheral drivers and firmware using the STM32 Low-Layer APIs

By the end of this course you will be able to develop drivers for peripherals like the ADC, UART,PWM, GPIO, TIMER,I2C, SPI, RTC, WWDG, IWDG, RCC, EXTI etc. You will also master the STM32 architecture and how to build professional embedded firmware for STM32 microcontrollers.

4.Embedded Systems Bare-Metal Programming Ground Up (STM32F4)

With a programming based approach, this course is designed to give you a solid foundation in bare-metal firmware development for ARM-based microcontrollers . 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.

Still keeping it simple, this course comes in different ARM Cortex-M development boards so that students can put the techniques to practice using an ARM Cortex-M development board of their choice. This version of the course uses the STMicroelectronics STM32F4-NUCLEO which has an ARM Cortex-M4 microcontoller.

By the end of this course you will be able configure microcontroller 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.


5.ARM Cortex-M7 STM32F7 Bare-Metal Programming

Welcome to the ARM Cortex-M7 STM32F7 Bare-Metal Programming course.

With a programming based approach, this course is designed to give you a solid foundation in bare-metal firmware development for ARM-based microcontrollers . 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.

Still keeping it simple, this course comes in different ARM Cortex-M development boards so that students can put the techniques to practice using an ARM Cortex-M development board of their choice. This version of the course uses the STMicroelectronics STM32F7-NUCLEO which has an ARM Cortex-M7 microcontroller.

By the end of this course you will be able configure microcontroller 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.


6.STM32L4 Bare-Metal Peripheral Drivers Development

With a programming based approach, this course is designed to give you a solid foundation in bare-metal firmware development for ARM-based microcontrollers . 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.

Still keeping it simple, this course comes in different ARM Cortex-M development boards so that students can put the techniques to practice using an ARM Cortex-M development board of their choice. This version of the course uses the STMicroelectronics STM32L4-NUCLEO which has an ARM Cortex-M4 microcontroller.

By the end of this course you will be able configure microcontroller 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.


7.STM32L0 Bare-Metal Peripheral Drivers Development

With a programming based approach, this course is designed to give you a solid foundation in bare-metal firmware development for ARM-based microcontrollers . 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.

Still keeping it simple, this course comes in different ARM Cortex-M development boards so that students can put the techniques to practice using an ARM Cortex-M development board of their choice. This version of the course uses the STMicroelectronics STM32L0-NUCLEO which has an ARM Cortex-M0+ microcontoller.

By the end of this course you will be able configure microcontroller 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.


8.STM32F3 Bare-Metal Peripheral Drivers Development

With a programming based approach, this course is designed to give you a solid foundation in bare-metal firmware development for ARM-based microcontrollers . 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.

Still keeping it simple, this course comes in different ARM Cortex-M development boards so that students can put the techniques to practice using an ARM Cortex-M development board of their choice. This version of the course uses the STMicroelectronics STM32F33-NUCLEO which has an ARM Cortex-M4 microcontroller.

By the end of this course you will be able configure microcontroller 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.






Your Instructor


EmbeddedExpertIO™
EmbeddedExpertIO™

EmbeddedExpertIO represents a vibrant collective dedicated to the mastery of sophisticated embedded systems software development for professionals.

EmbeddedExpertIO stands as a premier source of tailored embedded systems development courses, catering to individuals and enterprises seeking to hone or acquire embedded firmware programming expertise. Our extensive course selections encompass beginner to advanced levels, addressing diverse facets of embedded systems development, such as WiFi, STM32, IoT systems design, memory safeguarding, and beyond.

Our core objective is to equip individuals and organizations with the indispensable skills to thrive in the swiftly evolving embedded systems sector. We achieve this by providing immersive, hands-on education under the guidance of seasoned industry specialists. Our ambition is to emerge as the favored learning platform for embedded systems development professionals across the globe.


Course Curriculum


  First Section
Available in days
days after you enroll

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.

This course is closed for enrollment.