STM32CubeIDE 2.0.0 Tutorial

From Stm32World Wiki
Jump to navigation Jump to search

On Nov. 18, 2025, ST released a major upgrade to STM32CubeIDE. Unfortunately, the announcement began like this:

STM32CubeIDE 2.0.0 Announcement.png

Now, this would appear to be a massive step backwards, destroying the one thing STM32CubeIDE had going for it - the single download with everything you need to get started. Unfortunately, and possibly even worse, it rendered 99 % of existing STM32CubeIDE tutorials on the Internet completely obsolete and more confusing than helpful for beginners.

We, here at STM32World, are not great fans of Arduino, but the one thing they got going for them is the ease of getting started. Unfortunately, in Arduino's case that is mostly due to it being extremely simple and lacking features. The complete STM32CubeIDE had that same quality and was probably originally inspired by Arduino. Now, ST have decided to ditch that ease of getting started, which is quite an unfortunate move.

At the point of writing this page, we have just finalized a Tutorial video, which will be published soon.

Videos

The first video was (and is) a bit of a rant because of what appeared to be a monumentally stupid decision:

ST later elaborated on the decision and well, they provided better reasoning, so here is a more positive tutorial video:

Tutorial steps

Prerequisites

STM32CubeIDE

Download STM32CubeIDE from https://www.st.com/en/development-tools/stm32cubeide.html.

The installation depends on your OS.

STM32CubeMX

Download STM32CubeMX from https://www.st.com/en/development-tools/stm32cubemx.html.

Contrary to STM32CubeIDE this one is using a graphical installer (at least on Linux).

Creating a workspace

First step would be to create an empty folder to be used as a Eclipse workspace:

lth@nb7:~$ cd tmp
lth@nb7:~/tmp$ mkdir cube

The workspace will now be in ~/tmp/cube

Starting STM32CubeIDE

Start up STM32CubeIDE. It will ask for a workspace. Based on the workspace created in the previous section it should be filled in like this:

STM32CubeIDE startup - select workspace.png

After a while:

STM32CubeIDE Start.png

Close the "Information center" tab.

With the old version of STM32CubeIDE one could now have created a new project inside the IDE. Now that is no longer as integrated (I guess it is now a Disintegrated Development Environment - DDE). So, leave STM32CubeIDE running while firing up the external STM32CubeMX.


Staring STM32CubeMX

For some reason, on Linux, the STM32CubeMX installer does not create a graphical way of starting it up.

lth@nb7:~$ ~/st/STM32CubeMX/STM32CubeMX

After a while:

STM32CubeMX startup.png

At this point, start a new project, either through the MCU Selector or the Board Selector. In this case we'll use the MCU Selector:

MCU Selector.png

Once the right MCU (or Board) is selected, click the "Start Project" button.

MCU Configuration.png

At this point it is good to switch to the Project Manager tab and save the configuration.

Save project.png

At this point click "Generate Code".

Once code has been generated you can switch back to the Pinout & Configuration and the Clock configuration and setup the MCU as required.

Now, the code has been generated, we can switch back to STM32CubeIDE and import the project.

Import Project in STM32CubeIDE

Back in STM32CubeIDE, select "File/Open Projects from filesystem":

Import projects.png

You can now edit the project as normal, build, debug and flash:

STM32CubeIDE editing project.png

Final thoughts

All the steps in this document was handled internally in STM32CubeIDE in the previous versions. After removing STM32CubeMX everything have just become more complicated.

Miscellaneous Links