Showing results for 
Search instead for 
Did you mean: 

- Knowledgebase - what do you want to read about?

ST Employee

Fill the (1 question) >> SURVEY<< to choose your preferred STM32 topics, the most popular ones will be the focus of our next Knowledge Articles. 


Using Search on SalesForce

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Pavel A.
Evangelist III

VBAT brownout - families affected, pins affected, methods of mitigation

DMA_SxCR.TRBUFF bit explained in depth

Synopsys OTG/ETH modules properly documented 

How often will we get to ask for such knowledge base article? Monthly? Weekly?

A good place to publish them is in the renewed Technical Updates.


Richard Lowe
Senior III

I would love to read more tutorials on peripheral configuration and utilization. CAN, MDMA, DSI Host and definitely "Board Bring Up" for TouchGFX on some of the more advanced MCUs.

Secure boot and OTA have always been difficult. I'd love to see more information on those topics.

Lead II

My favorite would be "A simple way of creating a HAL-free project under CubeIDE without manually copying files from the depths of MCU packages". 😉 Something which used to be the basic project creation scenario under most of existing IDEs.

I came to some solution involving only file deletion, two simple editing changes and two modifications of project properties, which takes 2..3 minutes after creating the standard HAL project.

Where-to-Buy ?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Hi @gbm​ 

Just a minor suggestion here, but upon project creation with STM32CubeIDE you can select this option:

0693W00000Y7PRbQAN.pngThis will create a HAL-free project, which only contains the startup file, main.c and linker script that will compile, but you'd need to adjust the interrupt management.

Alternatively, if you want to avoid using HAL because of its memory footprint, you can use the *.ioc to change from HAL to LL for all IPs your project has:

0693W00000Y7PSKQA3.pngIf you meant something different, please detail a bit more so we can work on some tutorial for it.


What you describe above creates not only a HAL-Free but also "MCU header-free" project (= unusable project). That's the problem with CubeIDE. Back in old Atollic times, it was possible to create an "empty" projects for a given MCU, containing the startup, SystemInit and the required header files. It's no longer possible with CubeIDE.

I believe that "empty project" should contain basic (maybe empty) SystemInit() and the required MCU-related header files - these are currently omitted.

BTW: do you realize that whenever you create a standard HAL project, the Inc folder contains all the ARM processor related files, includingh the ones not needed by a selected MCU core. So, for example, when you select STM32L0, you get include files for Cortex-M3, M4, M7, M33 and SC300 in the Inc folder.

It's another error in CubeIDE project creation.

ST Employee

Thank you all for your inputs, we are working on the articles and we will share the links once published.