Skip to content

STM32 ARM Cortex-M Microcontrollers

Learning STM32 microcontrollers is a good starting point to work in Embedded System. The ARM® Cortex®-M processor family is optimized for cost and energy-efficient microcontrollers, found in a variety of applications, including IoT, industrial, and everyday consumer devices.

Last update: 2022-05-07

Table of Content

STM32 Nucleo boards


The content of each post is based on my personal experience. All posts will be arranged in an easy-to-follow order, so that beginners can understand them well.

In each post, I will try cover one main topic with a clear guidance including hardware overview, software implementation in register level and using HAL libraries. I think it is a good way to understand when you learn how it works and how a library is built.


Thanks to below learning sources:

ST’s Education center
The Education Center has a lot of materials and documents arranged into groups: basics, tools, product lines, application, tips & tricks.
ST’s Forum
As the official forum from ST, this place has many questions and answers which can help to find issue and solution more quickly.
OpenSTM32 Forum
Another big and old community for STM32 microcontrollers using System Workbench IDE, still having many active users.
An open-source firmware library for various ARM Cortex-M microcontrollers.
Mastering STM32 by Carmine Noviello
An amazing book for STM32 learners. The book will guide you in a clear and practical way to this hardware platform and the official ST CubeHAL, showing its functionalities with a lot of examples and tutorials.


While learning, I’ve read a lot in books and on the internet. I can not re-draw or rephrase all pieces of information, so I will directly include some pictures, paragraphs which originally come from a book or an internet page. In those cases, I will write the source link and the credit belongs to the original authors.