Software STM32CubeProgrammer from STMicroelectronics has become the de facto standard for working with microcontrollers of the family STM32. This tool allows you to flash, debug and configure devices through interfaces SWD, JTAG or UART, supporting both development boards (Nucleo, Discovery), and custom solutions. However, many users are facing problems when searching for the official version for Windows 64-bit — outdated or modified assemblies are often found on forums and third-party sites, which is fraught with compatibility errors.
In this article you will find current links to official sources for download STM32CubeProgrammer, detailed installation instructions for Windows 10/11 x64, as well as solutions to common problems - from connection errors to conflicts with drivers. We will look at which software versions support the latest chips STM32H7 And STM32U5, and why it is important to avoid “pirated” builds from torrent trackers. If you work with embedded systems or are just starting to learn STM32, this guide will help you save hours searching for information.
Where to officially download STM32CubeProgrammer for Windows 64-bit
The only reliable source for downloading STM32CubeProgrammer - official website STMicroelectronics. All other resources (including GitHub, SourceForge or file hosting services) may distribute outdated or modified versions, which leads to failures during the firmware. Below are step-by-step instructions on how to find the current version:
1. Go to the product page: STM32CubeProgrammer on ST.com.
2. In section Resources select tab Software.
3. Find the block STM32CubeProgrammer (Win64) - there will be a link to the latest stable version (at the time of writing - v2.15.0).
4. To download, you will need to register on the site ST (free).
Please note: STMicroelectronics regularly updates the software (about once every 2-3 months), adding support for new chips and fixing bugs. For example, in the version v2.14.0 now fully compatible with STM32H5, and in v2.13.0 - improved work with UART-protocol. By downloading software from unofficial sources, you risk receiving a version without these updates.
- Official website ST
- GitHub
- Torrent trackers
- Forums (eg eevblog)
- Other source
- 🔹 Official website ST - the only source with a guarantee of relevance and security. Downloaded files are checked for viruses and digitally signed STMicroelectronics.
- 🔹 GitHub — sometimes users post modified assemblies (for example, with patches for specific boards). Risk: lack of support for new chips.
- 🔹 Torrent trackers — high probability of catching a virus or getting a stripped-down version. For example, in 2023 at Rutracker assembly with a Trojan was distributed
Win32/GenKryptik. - 🔹 Forums (eevblog, STM32forum) - useful for discussion, but the files there are often outdated. For example, on STM32forum you can still find the version v2.9.0, which does not support STM32G4.
⚠️ Attention: If you downloaded STM32CubeProgrammer not from the official website, check the file with an antivirus before installing (for example, VirusTotal). In 2022, hackers distributed a modified version of the software via torrents, which stole data from connected development boards.
System requirements and compatibility with Windows 64-bit
Before installation, make sure your PC meets the minimum requirements. STM32CubeProgrammer for Win64 works on the following systems:
| Parameter | Minimum Requirements | Recommended Configuration |
|---|---|---|
| Operating system | Windows 7 SP1 (x64) | Windows 10/11 (x64, latest update) |
| Processor | Dual-core 2.0 GHz | Quad-core 3.0+ GHz (for working with STM32H7) |
| RAM | 2 GB | 8+ GB (when simultaneously working with STM32CubeIDE) |
| Free disk space | 500 MB | 1+ GB (including temporary firmware files) |
| Interfaces | USB 2.0 | USB 3.0+ (to speed up firmware flashing SWD) |
Pay special attention drivers. For working with development boards (STM32 Nucleo, Discovery) needs to be installed ST-Link driver. It can be downloaded separately or it will automatically install along with STM32CubeProgrammer. Compatibility issues often arise on Windows 11 due to the driver signing policy - in this case, you will have to disable signature verification (instructions below).
Also check if your software version supports your microcontroller. For example:
- 🔧 STM32F1/F3/F4 - supported by all versions starting from v2.0.0.
- 🔧 STM32G0/G4 - version required v2.8.0+.
- 🔧 STM32H7/U5/H5 - only v2.13.0+ (in older versions there may be errors when flashing the firmware via
UART).
If you are working with STM32H7 or STM32U5, download only the latest versions of the software (v2.14.0+). Older versions do not support new memory protection modes (Secure Boot), which can lead to the device becoming “bricked”.
Step-by-step installation instructions on Windows 10/11 x64
Installation STM32CubeProgrammer on Windows 64-bit consists of several stages: downloading the distribution, unpacking, installing drivers and setting up the environment. Follow the instructions to avoid common mistakes:
Step 1. Download the distribution
After registering on the site ST you will get access to the archive en.stm32cubeprogrammer-vX.X.X-win64.zip (where X.X.X - version). Unpack it into a folder without Cyrillic characters (for example, C:\STM32\CubeProgrammer).
Step 2: Run the installer
Find the file in the unpacked folder SetupSTM32CubeProgrammer-XX.exe and run it as administrator. During the installation process, select:
- 📌 Installing ST-Link drivers (required!)
- 📌 Adding to PATH (makes it easier to run from the command line)
- 📌 Create a desktop shortcut (optional)
Step 3: Set up your environment
After installation, check that the program has been added to the environment variables. To do this:
- Open
Command line(Win + R→cmd). - Enter the command:
STM32_Programmer_CLI --version - If you see the version number, the installation was successful.
Make sure that the folder with the program does not contain Cyrillic|Run the installer as administrator|Select installation of ST-Link drivers|Check operation via the command line (STM32_Programmer_CLI --version)|Connect the development board and check its detection-->
If a warning window appears during the driver installation stage "Windows cannot verify the publisher of this driver", follow these steps:
- Click
Install this driver anyway. - If the button is grayed out, disable driver signature verification:
bcdedit /set testsigning onbcdedit /set nointegritychecks offThen restart your PC.
⚠️ Attention: On Windows 11 with enabled Secure Boot driver installationST-Linkmay be blocked. In this case, temporarily disable Secure Boot in BIOS or use signed drivers from ST (available in the sectionDriverson the official website).
Configuring STM32CubeProgrammer to work with development boards
After installing the software, you need to configure it to work with your debug board (Nucleo, Discovery or a custom device). Basic steps:
1. Board connection
Connect the board to the PC via USB (use port USB-STLINK on Nucleo or CN1 on Discovery). B Device Manager the device should appear ST-Link (in section USB controllers).
2. Launch STM32CubeProgrammer
Open the program from the menu Start or via the command line. In the interface, select:
- 🔌 Connection interface:
SWD(recommended)JTAGorUART. - 🔌 Speed: for
SWDoptimal4 MHz(for STM32H7 can be upgraded to8 MHz). - 🔌 Voltage:
3.3V(most boards) or5V(if your board supports it).
3. Checking communication with the microcontroller
Click the button Connect (or enter in the CLI:
STM32_Programmer_CLI -c port=SWD). If the connection is successful, information about the chip will appear in the log (for example, STM32F401RETx). If an error occurs "No STM32 device found", check:
- 🔍 Connecting the cable (try another USB port).
- 🔍 Availability of power on the board (does the LED light up?
PWR). - 🔍 Correct choice of interface (
SWDinstead ofJTAG).
What to do if the fee is not detected?
1. Check whether ST-Link conflicts with other USB devices (disable all unnecessary ones).
2. Install the driver manually via Device Manager (specify the path to the folder with drivers from the STM32CubeProgrammer distribution kit).
3. Try a different cable - Some USB cables are only for charging and do not transfer data.
4. If you are using a virtual machine, enable USB device forwarding (in VirtualBox: Settings → USB → Enable USB 3.0 controller).
For ease of use, it is recommended to create .bat-file with frequently used commands. For example, for firmware STM32F4 through SWD:
@echo offSTM32_Programmer_CLI -c port=SWD -w "firmware.bin" 0x08000000 -v
pause
Solving common errors when working with STM32CubeProgrammer
Even with correct installation, users often encounter errors. Below are the most common problems and ways to solve them:
| Error | Possible reason | Solution |
|---|---|---|
Error: No STM32 device found |
The card is not connected or is not recognized | Check the cable, USB port, power supply to the board. Try a different interface (JTAG instead of SWD). |
Error: Failed to initialize ST-Link device |
Driver conflict or lack of rights | Reinstall the ST-Link driver manually. Run the program as administrator. |
Error: Verify failed |
Firmware verification error (CRC mismatch) | Repeat the firmware at a lower speed (-f 1M instead of -f 4M). Check the firmware file for integrity. |
Error: Option Bytes programming failed |
Incorrect settings Option Bytes |
Reset Option Bytes to factory (STM32_Programmer_CLI -ob RDP=0xAA). |
Error: Unable to read memory |
Read protection (Read Out Protection) |
Remove protection via Option Bytes or perform a full chip reset. |
If you receive an error "STM32CubeProgrammer has stopped working" when running on Windows 10/11, try:
- Install Microsoft Visual C++ Redistributable (latest version).
- Disable your antivirus (sometimes it blocks access to USB devices).
- Run the program in compatibility mode Windows 8.
For STM32H7 And STM32U5 characteristic error "Error: Failed to erase sector" when flashing via UART. This is due to new memory protection mechanisms. Solution:
- 🛠 Use
SWDinstead ofUART. - 🛠 Update your firmware
ST-Linkto the latest version (via STM32CubeProgrammer →ST-LINK Upgrade).
Before flashing new chips (STM32H5, STM32U5) always check the compatibility of the STM32CubeProgrammer version. Using outdated software can lead to irreversible blocking of the device due to errors in working with Option Bytes.
Alternative ways to flash STM32 without STM32CubeProgrammer
Although STM32CubeProgrammer - the most universal tool; in some cases it is more convenient to use alternative methods. Let's look at the main options:
1. STM32CubeIDE
Integrated development environment from ST includes STM32CubeProgrammer and allows you to flash chips directly from the IDE interface. Benefits:
- 🔧 Automatic detection of debug board.
- 🔧 Support debugging via
GDB. - 🔧 Built-in editor
Option Bytes.
Disadvantage: Higher system requirements (8+ GB RAM recommended).
2. OpenOCD + GDB
An open solution for flashing and debugging. Suitable for Linux/macOS, but also works on Windows. Example command for firmware:
openocd -f interface/stlink.cfg -f target/stm32f4x.cfg -c "program firmware.elf verify reset exit"
Pros: cross-platform, script support. Cons: Difficult setup for beginners.
3. ST-Link Utility
Outdated utility from ST, which is still used for simple tasks (for example, firmware STM32F1). You can download it at official website. Limitations:
- ❌ No support for new chips (STM32H7, STM32U5).
- ❌ No command line interface.
4. dfu-util (for DFU mode)
Utility for flashing via USB DFU (suitable for boards with built-in bootloader, e.g. STM32F4 Discovery). Example:
dfu-util -a 0 -D firmware.bin --dfuse-address 0x08000000
The choice of tool depends on the task:
- 🛠 For one-time flashing of a simple project - ST-Link Utility.
- 🛠 For debugging complex projects - STM32CubeIDE.
- 🛠 For automation (CI/CD) - STM32CubeProgrammer CLI or OpenOCD.
FAQ: Frequently asked questions about STM32CubeProgrammer for Windows 64-bit
🔹 Why STM32CubeProgrammer does not see my board STM32 Nucleo?
The problem could be the following:
- Drivers not installed
ST-Link(checkDevice Manager). - The board is not receiving power (check the LED
PWR). - Wrong interface selected (try
SWDinstead ofJTAG). - Conflict with other programs (for example, Keil or IAR may block access to
ST-Link).
Solution: Reinstall the drivers, try a different USB port or cable.
🔹 Is it possible to flash STM32 without a debug board (for example, via UART)?
Yes, but for this you need:
- Connect
UART-adapter (for example, FT232) to conclusionsTX/RXmicrocontroller. - Activate bootloader (
Bootloader) on STM32 (for example, holdingBOOT0=1when turned on). - Use command:
STM32_Programmer_CLI -c port=UART -w firmware.bin 0x08000000
Limitations: low firmware speed, no debugging capabilities.
🔹 How to update firmware ST-Link in STM32CubeProgrammer?
To update the firmware ST-Link:
- Connect the development board.
- B STM32CubeProgrammer go to
ST-LINK → Firmware Update. - Click
Device Connect, thenYesfor update.
After updating, disconnect and reconnect the board.
🔹 Why when flashing STM32H7 an error occurs "Error: Failed to erase sector"?
This error is typical for new chips (STM32H7, STM32U5) and is associated with:
- Outdated version STM32CubeProgrammer (need v2.13.0+).
- Incorrect settings
Option Bytes(for example, enabledSecure Boot). - Conflict with memory protection (
Read/Write Protection).
Solution: update the software, reset Option Bytes (STM32_Programmer_CLI -ob RDP=0xAA) and repeat the firmware via SWD.
🔹 Where to find example commands for STM32_Programmer_CLI?
Basic commands:
- Firmware:
STM32_Programmer_CLI -c port=SWD -w firmware.bin 0x08000000 - Memory reading:
STM32_Programmer_CLI -c port=SWD -r dump.bin 0x08000000 0x1000 - Reset
Option Bytes:STM32_Programmer_CLI -ob RDP=0xAA - Checking connection:
STM32_Programmer_CLI -c port=SWD
Full documentation can be found in the file UM2237 (user manual) in the program folder.