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,LinuxormacOS). - 🔹 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.
- 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 8or newer (required!). - 🐧 Linux: Ubuntu 20.04+, Debian 11+,
OpenJDK 11orOracle JDK. - 🍎 macOS: 10.15 (Catalina) or later,
Javafrom 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
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
Makefilefor 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:
- Go to
Help → Manage embedded software packages. - Click
Refreshand wait for the list to load. - Select the packages you need (for example,
STM32Cube FW_H7) and pressInstall.
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.