STM32 MOOCs (Massive Open Online Courses)

STM32CubeMX & CubeHAL basics MOOC

STM32Cube frees embedded designers from MCU development constraints

Discover how using STM32Cube reduces development effort, time and cost 

Who should attend this course?

  • Developers looking for a way to optimize their current development time.
  • Engineers looking to easily start or improve a design based on an STM32 MCU.

What is STM32Cube?

STM32Cube is a comprehensive software solution combining embedded software libraries, including hardware abstraction layer peripheral driver and other components, with STM32CubeMX, its graphical interface for configuring the embedded firmware.  Learn more here

Benefits you will take away

  • Complete understanding of STM32Cube including the graphical interface and the APIs for hardware abstraction layer
  • Hands-on STM32Cube experience using an IDE such as those by Keil, IAR, SW4STM32 or TrueSTUDIO.
  • A strong practical experience to start your own applications

On line course concept

  • Courses are provided in Massive Open Online Course (MOOC) format with course material available online, mostly as videos complemented with exercises.
  • Each course takes approximately 8 hours to complete, depending on your proficiency.

Course outline

The first part of the course focuses on using the built-in utilities (wizards) of the STM32CubeMX graphical interface to handle basic tasks to create a project:

  • Selecting the appropriate STM32 MCU for your application
  • Configuring the pinout and resolving conflicts
  • Managing the clock tree
  • Enabling and configuring MCU peripherals
  • Calculating the power consumption in various modes and configurations
  • Generating C initialization code

The second part is related to the STM32Cube's embedded software libraries with detailed explanations about the following components and how they are used:

  • Hardware abstraction layer (HAL)
  • Handles and callbacks
  • Interrupts
  • Direct memory access controller (DMA)

Additional material covers hands-on exercises using the GPIO, SPI, UART, timer and ADC peripherals.

All points are explained on commented presentations or hands-on exercises.


  • You need to have a good understanding of embedded system development and should be proficient in C programming.
  • An STM32 Nucleo-64 development board with an STM32F401RE MCU (ref: NUCLEO-F401RE) is required for the hands-on exercises included in the course.
  • Type A to type B miniUSB cable
  • Laptop PC running Windows® 7, 8 or 10 with administrator rights and the following software installed: