What is STM32 ST-LINK utility?
STM32 ST-LINK Utility, also called STSW-LINK004, is a tool for programming (reading, writing, erasing, option words) of the entire STM32 series of chips. It not only provides a graphical interface (GUI), but also provides a command line interface (CLI).
Compared with ST Visual Programmer (STVP), ST-LINK Utility only supports the download debugger of ST-Link (multiple versions), and the only supported chip is STM32.
Programmable Files
- Motorola S19
- Bin file
- Hex file
Functions
- Erase, Read, Verify
- One-time automated Programming (download/write)
- Provides command line interface (CLI)
- ST-LINK/V2 firmware upgrade
- Configuration option byte
- Compare file to target memory
- Program\erase and verify external memory
- Can load, edit and save executable and data files
- Supports memory and core status views in real-time update mode
How to Use STM32 ST-LINK Utility?
As a programming tool, ST-LINK Utility includes conventional reading, writing (downloading / programming), erasing, option byte programming, etc. In this example, we use STM32F411 to show the details:
Tools Required
- STM32 ST-LINK Utility Software
- ST LINK /V2 Programmer x1
- STM32 MCU x1
- Jumper Wire (Several)
ST-LINK Utility Download
https://www.st.com/en/development-tools/stsw-link004.html
ST-LINK Utility installation
The installation package downloaded from the official website is an exe file, which means it only supports Windows and does not support operating systems such as Linux and Mac.
Hardware Connection
Connect the STM32 MCU with ST LINK programmer by jumper wires. To do this, you should match the pins with each other. And then, connect them with your PC.
Check the Connection
Open the ST-LINK Utility and click “Connect” to check the connection status.
If there’re some information like these, the connection is okay.
Programming the STM32
In order to program the STM32 with ST-LINK Utility, you need to open the file from your computer. and then click “Download”.
If there’re some information like these, the program is sucessful.
Engineering checks for STM32 ST-LINK Utility programming and recovery
Before using STM32 ST-LINK Utility programming and recovery in a PCB, firmware, repair, or validation workflow, confirm the details that usually decide whether the design works reliably instead of only reading the headline specification.
Design and troubleshooting checklist
| Area | What to check | Why it matters |
|---|---|---|
| Connection setup | Check ST-LINK firmware, SWDIO, SWCLK, NRST, target voltage detection, and connect-under-reset mode | Locked or low-power STM32 devices often require reset control to regain access |
| Memory operations | Record flash size, option bytes, readout protection, erase method, and verify checksum after programming | Incorrect option-byte handling can block debug access or boot from the wrong memory |
| Migration note | Use STM32CubeProgrammer for newer workflows while keeping ST-LINK Utility for legacy production records | Many repair benches still receive projects built around the older utility |
These checks help connect the search intent around STM32 ST-LINK Utility download with practical board-level decisions, component selection, and failure analysis.
ST-LINK Utility Download and Legacy Support
If you need an ST-LINK Utility download for an older STM32 workflow, note that STM32 ST-LINK Utility is a legacy tool and many new projects now use STM32CubeProgrammer instead. ST-LINK Utility is still useful when maintaining older production procedures, archived tutorials, or existing test fixtures that were built around STSW-LINK004.
When to Use ST-LINK Utility Instead of STM32CubeProgrammer
Use ST-LINK Utility when your existing documentation, operators, or scripts depend on the older interface. Use STM32CubeProgrammer for newer STM32 devices, command-line workflows, USB DFU, UART bootloader programming, and better long-term software support.
Windows Driver and Firmware Update Checklist
| Problem | What to check | Recommended action |
|---|---|---|
| ST-LINK not detected | USB cable, driver, Device Manager | Install or repair ST-LINK USB driver |
| Target not found | SWDIO, SWCLK, GND, target voltage | Check wiring and power before retrying |
| Programming fails | Readout protection, Flash erase, option bytes | Review protection state and erase settings |
| Old firmware on probe | ST-LINK firmware version | Run ST-LINK firmware update before debugging |
ST-LINK Utility Troubleshooting FAQ
Why does ST-LINK Utility show “No target connected”?
This usually means the tool can see the ST-LINK probe but not the STM32 target. Check target power, shared ground, SWDIO/SWCLK orientation, reset wiring, and whether the firmware has disabled the debug pins.




