STM32CubeIDE

STM32CubeIDE

Free STM32 development tool

The STM32Cube software ecosystem offers two powerful integrated development environments: STM32CubelDE and STM32CubelDE for Visual Studio Code. While both tools simplify development and enable robust debugging, they address different developer preferences and workflows.

Main features

STM32CubelDE and STM32CubelDE for Visual Studio Code are part of the STM32Cube ecosystem. They provide robust functionalities to streamline development, such as cross - platform compatibility, version control, and many more.

  • Editor
  • Build system
  • Debugging

Code editor

The editor offers automated code completion, syntax​ and active code highlighting, call hierarchy, function/hover preview, and​ code templates.

Code editor

User-friendly build tools

Intuitive graphical interfaces that streamline the configuration and analysis of build settings and results.

User-friendly build tools

A comprehensive toolbox​

Serial wire viewer (SWV) trace capabilities, statistical profiling, real-time operating system awareness for FreeRTOS​ and AzureRTOS/ThreadX, special function register (SFR) views. Traditional debugging capabilities are also available, such as code and data breakpoints, stepping, and code disassembling.

A comprehensive toolbox​
  • Editor
  • Build system
  • Debugging

A powerful code and IP editor

High-end editing features, such as syntax highlighting, smart completion and hovers, thanks to IntelliSense and clangd.

A powerful code and IP editor

Flexible build tools

The build system relies on the C/C++ industry standard CMake and Ninja tools. Developers can move existing CMake-driven code bases into STM32Cube for Visual Studio Code with close to zero porting effort. Leveraging CMake enables ACI integration, compiler freedom, and simplifies the integration of third-party test tools.

Flexible build tools

A flexible debugger

STM32Cube for Visual Studio Code includes its own debugging extension to enable single-click debug launches for ST-LINK and SEGGER J-LINK probes. Debug configurations are highly customisable and the debugger offers basic and advanced features.

A flexible debugger

What is the difference between STM32CubeIDE and STM32CubelDE for Visual Studio Code?

Features
STM32CubeIDE
STM32CubeIDE
STM32CubeIDE for VS Code
STM32CubeIDE for VS Code
STM32 device support

Full MCU and MPU portfolio

Full MCU portfolio

Target audience

Developers preferring an integrated GUI

Developers preferring modularity / flexibility

Development style

GUI-rich, all-in-one IDE

Lightweight, code-centric environment

Host OS support

Window® Linux®, macOS®

Window® Linux®, macOS®

Base framework

Eclipse®,CDT™

Microsoft® Visual Studio Code®

Project creation

STM32CubeMX, Empty, CMake, Make

STM32CubeMX, Empty, CMake

Editor

EClipse/CDT

IntelliSense LSP-driven clangd

Build system

Integrated build system

CMake-based with Ninja support

Debugging

Advanced debugging with SWV, RTOS-aware

Basic debugging with RTOS-aware

Customization

Eclipse® add-ons

VS Code® marketplace

Resources to start your project

Installer
Documentation
Video tutorials Video

Frequently asked questions

What is STM32CubeIDE?

STM32CubeIDE is ST's free integrated development environment (IDE) for STM32 microcontrollers.

STM32CubeIDE is available in two variants: one is based on Eclipse, and the other one uses Visual Studio Code.

STM32CubeIDE supports coding, compiling, and debugging, offering a complete workflow from project creation to device programming.

Why transition from the Eclipse-based STM32CubeIDE to STM32Cube for Visual Studio Code?

STM32Cube for Visual Studio Code is a lightweight tool offering a modern interface and rich extensions.

It provides a more flexible and customizable development environment compared to the traditional Eclipse-based STM32CubeIDE, aligning with current industry trends for embedded development.

What is the difference between STM32CubeIDE and STM32CubeMX?

STM32CubeIDE is a comprehensive IDE for coding, compiling, and debugging STM32 projects.

STM32CubeMX is a graphical configuration tool that generates initialization C code for STM32 microcontrollers.

Is STM32CubeIDE free and open source?

STM32CubeIDE is free to download and to use.

While it is built on the open-source Eclipse and VS Code platforms and uses open-source toolchains, like GCC, the STM32CubeIDE application itself is a proprietary offering from ST.

How to generate and modify code using STM32CubeMX and STM32CubeIDE?

Configure your STM32 devices using STM32CubeMX, then select "Generate Code." To modify your result, write your custom code within the USER CODE BEGIN and USER CODE END sections.

STM32CubeIDE safeguards these sections, preventing your changes from being overwritten during subsequent code generations.

Where can I find help to debug STM32 projects using STM32CubeIDE?

Watch our STM32CubeIDE debugging tutorials on YouTube, which provide step-by-step guidance and practical examples for debugging STM32 projects.

How to import an ST project into STM32CubeIDE for Visual Studio Code?

If you are looking to import an ST project into Visual Studio Code using the Visual Studio Code Extension, as opposed to STM32CubeIDE, we recommend opening the project folder in Visual Studio Code.

The STM32 Visual Studio Code Extension will recognize the project structure (from an .ioc file or an existing build system) and enable relevant functionalities and build/debug configurations.

How to use STM32CubeMX with STM32Cube for Visual Studio Code?

The STM32CubeIDE for Visual Studio Code extensions enable interoperability with STM32CubeMX thanks to the STM32CubeMX CMake exporter.

STM32CubeMX can reconfigure and regenerate code into your CMake project.

VS Code will automatically detect any updates from STM32CubeMX. All build-related settings are managed throught the CMake files inside VS Code.

What if my question is not listed here?

Visit our online documentation for direct access to additional guidelines, examples, and in-depth articles.