Working with microcontrollers STM32 requires not only programming knowledge, but also the right tools. STM32CubeMX is a graphical configurator from STMicroelectronics, which simplifies peripheral configuration, initialization code generation, and integration with popular IDEs. However, many encounter problems already at the download stage: the official website may be blocked, versions become outdated, and alternative sources are not always safe.

In this article you will find relevant links to official and verified sources for download STM32CubeMX, detailed installation instructions for Windows, Linux And macOS, as well as solutions to common errors (from problems with Java before conflicts with Keil or IAR). Particular attention is paid compatibility with the latest versions of STM32CubeIDE and HAL libraries (as of 2026).

Official sources for downloading STM32CubeMX

The first and most reliable way to get STM32CubeMX — download it from the manufacturer’s website. However, this method has some nuances: registration is required, and in some regions access to the site STMicroelectronics may be limited.

Official download page: STM32CubeMX on ST.com. The latest stable versions are always available here (at the time of writing - v6.12.0). For download:

  • 🔹 Go to the product page and click Get Software.
  • 🔹 Select your OS (Windows, Linux or macOS).
  • 🔹 Fill out the short form (name, email, country) or log in through your account ST.
  • 🔹 Confirm your email (if required) and download the installer.

⚠️ Attention: On the website ST Versions are updated frequently, but not all of them are stable. For example, in v6.11.0 there were problems with generating code for STM32H7 when using FreeRTOS. Please check the section before downloading Release Notes on the product page.

📊 What OS do you use to work with STM32?
  • Windows
  • Linux (Ubuntu/Debian)
  • macOS
  • Other

Alternative sources: where to download if the official website is not available

If you don't have access to ST.com or the download is interrupted, you can use mirrors and archives. However, it is important to avoid fake versions that may contain malicious code.

Proven alternatives:

  • 🔗 GitHub: Repositories with mirrors of official versions (for example, STM32CubeMX on GitHub). Posted here often .zip-archives with previous releases.
  • 🔗 SourceForge: Project STM32CubeMX on SourceForge (updated less frequently, but there are older versions).
  • 🔗 Torrent trackers: For example, Rutracker (look for topics with high ratings and verified distributions). ⚠️ Attention: Be sure to scan the downloaded files with an antivirus and check the hash amounts with the official ones.
Source Pros Cons Recommendation
Official website ST Latest versions, support, documentation Registration required, regional blocking possible 🟢Priority choice
GitHub Access without registration, version history Releases are not always up to date 🟡 For older versions
SourceForge Mirrors of official versions Rare updates, possible spam 🟡 Only if there are no alternatives
Torrents Fast download, old versions Risk of viruses, no guarantee of file integrity 🔴 Extreme case

💡

If you downloaded STM32CubeMX from a torrent, before installing, compare the hash amount of the file with the official one. To do this, use utilities like 7-Zip (right click → CRC SHA) or online services.

System requirements and preparation for installation

Before installation STM32CubeMX Make sure your system meets the minimum requirements. The program is cross-platform, but there are nuances for each OS.

Minimum requirements (2026):

  • 🖥️ Windows: 7/8.1/10/11 (64-bit), Java 8 or newer (required!).
  • 🐧 Linux: Ubuntu 20.04+, Debian 11+, OpenJDK 11 or Oracle JDK.
  • 🍎 macOS: 10.15 (Catalina) or later, Java from Oracle or AdoptOpenJDK.

⚠️ Attention: On Windows STM32CubeMX may conflict with antiviruses (for example, Avast blocks code generation). Add the program folder to exceptions or temporarily disable protection during installation.

Please complete the following steps before installation:

☑️ Preparing the system for STM32CubeMX

Done: 0 / 5

Step-by-step installation instructions on Windows, Linux and macOS

The installation process differs depending on the operating system. Below are detailed instructions for each platform.

Windows

1. Run the downloaded .exe-file as administrator.

2. Select the installation path (recommended C:\ST\STM32CubeMX - no spaces!).

3. At the component selection stage, leave the checkboxes STM32CubeMX And STM32Cube Firmware (the latter contains code examples).

4. Wait for it to finish and launch the program via a shortcut on your desktop.

Linux (Ubuntu/Debian)

1. Unzip the downloaded .tar.gz-archive to home directory:

tar -xzf en.stm32cubemx-v6-12-0-linux.tar.gz -C ~/STM32Tools/

2. Install dependencies (if not installed):

sudo apt install default-jre libgtk-3-0

3. Launch STM32CubeMX via script:

cd ~/STM32Tools/STM32CubeMX

./SetupSTM32CubeMX-6.12.0.linux

macOS

1. Open .dmg-file and drag STM32CubeMX to a folder Applications.

2. When starting for the first time, an error about an unverified developer may appear. Fixed via System settings → Security and safety → Allow startup.

3. If the program does not open, run in the terminal:

sudo xattr -r -d com.apple.quarantine /Applications/STM32CubeMX.app

💡

On macOS, you may need to re-enable startup after a system update STM32CubeMX in the security settings.

Setting up STM32CubeMX after installation

After the first launch STM32CubeMX will prompt you to select a working directory for projects and configure integration with the IDE. It is important here to specify the paths correctly to avoid errors when generating code.

Key settings:

  • 📁 Working Directory: Specify the folder without Cyrillic alphabet and spaces (for example, D:\STM32_Projects).
  • 🔧 Toolchain/IDE: Select your development environment (STM32CubeIDE, Keil, IAR or Makefile for manual assembly).
  • 🔄 Firmware Updates: Enable automatic check for updates for STM32Cube libraries.

⚠️ Attention: If you are using Keil MDK, in settings STM32CubeMX indicate the path to armcc (usually C:\Keil_v5\ARM\ARMCLANG\bin). Otherwise, code generation for Keil will be unavailable.

How to fix the "No toolchain selected" error

This error occurs if in the settings STM32CubeMX no IDE selected. Go to Help → Manage embedded software packages, then in Project Manager → Toolchain/IDE and specify your development environment (for example, STM32CubeIDE). After that, regenerate the code.

Common mistakes and their solutions

Even after proper installation STM32CubeMX may give errors. Below are the most common problems and how to fix them.

Error Reason Solution
Java not found Missing Java or wrong version Install Java 8 or Java 11 and add the path to JAVA_HOME
Failed to generate code No write permission to the working folder Run STM32CubeMX from administrator or change folder permissions
STM32CubeMX crashed on startup Conflict with graphics drivers (especially on Linux) Run with flag --disable-gpu or update drivers
No STM32 family selected Microcontroller series not selected B Pinout View click MCU Selector and select a model (for example, STM32F407G)

If STM32CubeMX doesn't see installed packages STM32Cube (for example, for STM32H7), update them manually:

  1. Go to Help → Manage embedded software packages.
  2. Click Refresh and wait for the list to load.
  3. Select the packages you need (for example, STM32Cube FW_H7) and press Install.

💡

If STM32CubeMX slows down when generating code for complex projects (for example, with FreeRTOS And FatFS), increase the allocated memory for Java. To do this, edit the file STM32CubeMX.ini (in the program folder) and add the line -Xmx2048m to the section [JavaOptions].

FAQ: Frequently asked questions about STM32CubeMX

🔍 How do I know which version of STM32CubeMX I have installed?

Open the program and go to Help → About STM32CubeMX. The window will indicate the version (for example, 6.12.0) and build date. This information can also be found in the file version.txt in the folder with the installed program.

🔄 Is it possible to roll back to the old version of STM32CubeMX?

Yes, but before that, delete the current version and empty the folder %APPDATA%\STMicroelectronics (on Windows) or ~/.stm32cubemx (on Linux/macOS). Older versions can be downloaded from archive page on the website ST or with GitHub.

🛠️ Why doesn't STM32CubeMX see my board (for example, Nucleo-F411RE)?

This occurs if the support package for this series of microcontrollers is not installed. Open Help → Manage embedded software packages, find the package for your series (eg STM32Cube FW_F4) and install it. After this, restart the program.

💻 Is it possible to use STM32CubeMX without an IDE (for example, just for code generation)?

Yes, in the project settings (Project Manager) select Makefile instead of IDE. The generated code can be compiled manually via GCC or another compiler. To do this, a file will appear in the project folder Makefile, which can be used for assembly.

🔒 How to transfer STM32CubeMX settings to another computer?

Settings are stored in a file STM32CubeMX.conf (Windows) or in a folder ~/.stm32cubemx (Linux/macOS). Copy this file/folder to your new PC. You can also export/import projects via File → Export/Import.