NewsSTM32CubeProgrammer and STM32CubeMonitor: see how power users get more productive on STM32

STM32CubeProgrammer and STM32CubeMonitor: see how power users get more productive on STM32

Category articles

What is STM32CubeProgrammer?

Features in v 2.11.0

ST recently released the version 2.11.0 of STM32CubeProgrammer that brings major improvements for its secured firmware installation (SFI) features. The first thing users notice is the brand-new graphical user interface designed to display addresses and HSM details more clear. In addition users will notice that the GUI is now available for Trusted Package Creator has also been updated with a brand new layout on tabs SFI as well as SFIx tabs, which emphasize the data that is needed in the process of creating an encrypted firmware installation. The Trusted Package creator also received a visual representation of the different option bytes that can be used to make their configuration easier. In addition, the latest version adds SFIx support through SWD to STM32U5xx as well as STM32H7Bx microcontrollers.

The latest version of STM32CubeProgrammer introduces new features for different STM32 devices. It, for instance, comes with an interface for the protection of readouts (RDP) regression, which comes with the option of a password for STM32U5xx. Developers can set an encryption password and go to level 2 which blocks any debug feature up to level 1 which shields the flash from certain dumping or reading operations or levels zero, which is without protections. This makes prototyping much easier. Version 2.11.0 also includes a brand new boot loader feature for the STM32L476xx.

An experience that unites

STM32CubeProgrammer strives to improve your user interface. ST included all capabilities of utilities such as the ST-LINK Utility DFUs and more to STM32CubeProgrammer and became an all-in-one solution for those working with embedded platforms. We also designed it to run with the major operating systems, and embedded OpenJDK8-Liberica to make it easier to install. Users don’t have install Java themselves and have to deal with compatibility issues before using STM32CubeProgrammer. Additionally, the program comes with two key components: a visual user interface as well as a command line interface. Users can enhance their workflow by using its visual cues, or its capability to script.

The STM32 flasher , debugger and flasher.

In its fundamentals, STM32CubeProgrammer aids in flashing and debugging STM32 microcontrollers. In turn, it has features that improve the two processes. For instance Version 2.6 introduced the capability to dump the whole register map and alter any register at will. Previously, changing the value of a register required altering your source code compiling it, then flashing the firmware. Nowadays the process of testing new parameters, or finding out if an element is the cause of an issue is much easier. Similar to that engineers are now able to use STM32CubeProgrammer for flashing all external memory at once. Traditionally, flashing external embedded storage or an SD card meant that developers had to start each process individually. STM32CubeProgrammer is able to do this in one go.

Another issue for developers is separating the huge amount of data that is being processed by STM32CubeProgrammer. Anyone who has flashed firmware understands how difficult it is to manage every log. This is why we created custom tracer that allows users to attribute a color specific functions. It allows developers to identify a specific output from the log quickly. This makes debugging easier and clearer. Furthermore, it helps developers to coordinate their color scheme using STM32CubeIDE which is another part of our unique ecosystem that was created to help creators.

Security portals on STM32

The readers who read the ST Blog know STM32CubeProgrammer as one of the core components part of security tools that are part of the STM32Cube Ecosystem. The program includes Trusted Package Creator. It allows developers to connect an OEM-issued key into a secure module for hardware and then encrypt their firmware using the same keys. OEMs then use STM32CubeProgrammer to secure the firmware on the STM32 SFI microcontroller. Developers are able to utilize an interface that supports 2C or SPI interface, giving the ability to modify their firmware. In addition the STM32L5 can also support external secure firmware installation (SFIx) this means the OEMs are able to flash an encrypted binary onto memory modules that are not part of the microcontroller.

A Sigfox provisioner

When working with an STM32WL microcontroller can utilize STM32CubeProgrammer for extracting the Sigfox certificate that is embedded in the MCU. First, they copy the 136-byte string onto their clipboard , or save it as an unformatted file. Second, they visit and there they can copy the certificate, and then download Sigfox credentials in the format of a ZIP file. Thirdly, they download the contents of that downloaded package onto the MCU with STM32CubeProgrammer, and obtain an MCU’s Sigfox ID and PAC with the AT command. Finally, developers go to to register. The activation lasts for two years. Developers have the ability to transmit 140 text messages daily for free for the entire year.

What’s new in STM32CubeProgrammer?

Double authentication

STM32CubeProgrammer 2.9 is now able to support double authentication while providing encryption keys using JTAG or the bootstrap Loader that is compatible with the Bluetooth stack that is on the STM32WB. Put simply the new feature allows developers to secure their Bluetooth stack from updates by users. In fact, developers can modify the Bluetooth stack using ST’s secure firmware typically, if they know what they’re doing. However, a company might provide a specific setting and, consequently, want to secure it. This is why the double authentication mechanism blocks accessibility to update mechanisms for the user. ST released the application the AN5185 application for more information.

The script mode

The new program brings an upgrade to its command-line interface (CLI) to allow writing scripts. Since the script manager is a part of the software and doesn’t rely upon the OS or the shell environment. Therefore, scripts can be shared easily. Another benefit lies in the fact that the manager is able to keep connections with the intended. When you are using a traditional batch file, STM32CubeProgrammer must be connected at every stage, which is laborious. In contrast this new manager for scripts will maintain a connection throughout the duration of a session. It can also manage local variables and supports the logic or arithmetic operations on these variables. Developers are able to develop powerful macros that can automate complicated processes more effectively.

Support for PKCS#11

As of Version 2.9, STM32CubeProgrammer supports PKCS#11 when encrypting firmwares to STM32MP1. STM32MP1. It is the Public-Key Cryptography Standards (PKCS) 11, also known as Cryptoki is a standard that regulates cryptographic operations at a the lowest level. It is growing in popularity because APIs can help embedded system developers make use of its features. on an STM32MP1, the PKCS#11 API allows engineers to separate the storage of private keys and the encryption process used for Secure Secret Provisioning (SSP).

SSP is a form of the Secure Firmware Installer for MPUs. Developers secure their firmware using the private-public key system using STM32CubeProgrammer before submitting the code over to OEMs. This makes the IP unreadable by third-party. When assembly is taking place, OEMs use the provided hardware secure module (HSM) with an encryption key isn’t readable for loading the firmware the MPU can decrypt internally. But, up until now developers who were encrypting the code of the MPU were able to access secret keys. The issue is that certain organizations have to restrict access to the crucial data. Because of the latest STM32CubeProgrammer and PKCS#11 The private key is unnoticed within an HSM and is not revealed during the encryption process carried out by developers.


What is STM32CubeMonitor?

The Netflix of MCUs

STM32CubeMonitor is a runtime variable monitor and visualization tool that comes with an online interface to connect remotely and an interface that can be used to design customized visualization dashboards. It ensures developers are able to effectively monitor their applications using a visual interface using Node-RED. This flow-based programming tool allows users to create complicated data representations that do not require any programming or programming. It allows them to easily test their program and analyse behavior without altering the existing codebase. In addition, users can upload their dashboards to their Node-RED or ST communities, allowing them to build upon each other.

To make the initial experience using STM32CubeMonitor more nimble The ST Wiki will explain in detail how programmers can track a variable in an application with just two simple actions. Users select the starting date of the information that they are monitoring in memory as well as the type. To aid in this process there is a manual that demonstrates how to find addresses in ELF file. The interface will then prompt users to choose the STLINK probe.

A runtime monitoring application built on Node-RED

Monitoring registers as well as variables stored in memory interrupts and the multitude of other events that occur at any given time can be a challenge. Therefore, monitoring them manually is so time-consuming that many teams do not have the time or resources to tackle this task. STM32CubeMonitor is an answer to this issue and is based on Node-RED in order to keep things as easy as is possible. Users drag and drop graphic representations of a component of the program onto a canvas in order to make a flow which is a series of events. For instance, certain events can cause modules to send out notifications via email or send data to a cloud-based platform using MQTT.

With just even a single piece of code are able to make charts, graphs or create gauges that help visualize the value of counters, the data of sensors, and other features of an app. In addition the presence of an internet server means it is possible to access these visualizations on any computer or mobile device, using a local network and online. Moreover, thanks to the Node-RED and ST community users can begin with a simple glance at the dashboards of other users and learn from other’s examples.

Support tools throughout the life of the product

In the initial phase of prototyping, engineers may make use of the STLINK probe, like one of the STLINK V3 modules available. Connects MCU boards with the PC. This can help to create an STM32CubeMonitor Dashboard and act as gateway to Web-based interface. Once designers are ready to deliver their final product they may also develop software that will transmit information to an USB port via UART. Developers can therefore continue to observe their app in a safe manner using a computer that has STM32CubeMonitor installed on the USB port. In turn, it offers a long-term overview which can help you plan improvements or new features.

What’s new in STM32CubeMonitor?

Node-RED 1.3.7 support

STM32CubeMonitor 1.3.0 utilizes the framework of NodeRED 1.3.7 framework, which is the most current 1.3 version. Released last April the 1.3 version included a new plugin framework, as well as the ability to run function nodes on autopilot. The changes to the Switch and Change nodes have also made them more readable. It is expected that the OpenJS Foundation will launch a new version of Node Red in 2022. ST will continue to work on up-to-date STM32CubeMonitor, and will announce important changes to our integration of the tool for programming in this blog article.

Change in format and symbol Notification

The most recent version of STM32CubeMonitor allows users to export data as CSV instead of just using an specific formatting. As a result users can transfer the data in Excel, MATLAB, and other programs, opening the way to greater information optimization and manipulation. The new program will also notify users when symbols alter. Put simply, the program monitors variables by defining them in a file , and assigning them to the symbol. Recompiling the code can make the symbol’s file outdated, causing a conflict with the dashboard of Node-RED. The new STM32CubeMonitor will notify users of the need to make changes to the symbol’s file.


What’s new in STM32CubeMonitor-RF 2.9.0

The latest version was updated to make it more compatible and work with OpenThread 1.2 stack and also includes support for OpenThread 1.1 commands. In STM32CubeMonitor 2.9.0 developers can now make use of it with the 802.15.4 sniffer firmware by using the help of a USB dongle or Nucleo board. The new software can now support the latest Bluetooth Low Energy commands and events as well as updating the existing ones to make them compatible to the 1.14.0 version of the stack. In a nutshell ST upgraded the BLE stack to make sure engineers could use the latest features.

What is STM32CubeMonitor-RF?

STM32CubeMonitor-RF is an application that examines the Bluetooth and 802.15.4 radio capabilities from STM32WB microcontrollers. The graphical user interface lets you see the strength of signals and the occurrence of packet errors as they progress, and a command-line interface lets you connect to batch files, macros and various other forms of automation. In essence, it is derived from the same premise that the STM32CubeMonitor has always had however it is specialized in radio performance. Thus, developers are able to quickly test their designs and possibly identify problems. It also allows sniffing 802.15.4 communication between two devices. The easiest way to test using the program is to connect the STM32WB development board to an operating system and then use the USB as well as UART connection.

What’s new in STM32CubeMonitor-RF?

STM32CubeMonitor-RF 2.8.0 is a major update that nearly doubles the performance of over-the-air services due to bigger information packets. When users select the “Optimize MTU size” option within the “OTA Updater”, the software tool improves OTA transmissions from 16 bit/s up to 41 kbit/s. It’s an important quality of life improvement for developers. The transfer of files or the updating of the firmware on a device are common tasks in the course of development. Speeds that are faster will let that developers work more effectively.


What is STM32CubeMonitor-UCPD?

STM32CubeMonitor-UCPD monitors and helps set up USB-C and Power Delivery systems on STM32 microcontrollers running the ST USB PD stack. Developers can use the tool to monitor interactions on the USB-C interface, use sink or source power profiles, and use vendor-defined messages (VDM). The tool also has already-defined settings that can help aid in the development process and speed it up by addressing many of the challenges associated with this new generation of technologies. STM32CubeMonitor-UCPD was integral to the launch of ST’s USB-C Power Delivery ecosystem in 2019. Since since then, we’ve continued to enhance the software to aid developers to measure the performance of their products and gain certifications more quickly.

What’s new in STM32CubeMonitor-UCPD?

One of the most significant additions to STM32CubeMonitor-UCPD 1.2.0 is the integration of the Java machine. Similar to the other tools mentioned on this page, this utility includes everything you need within the installer. Users do not have to install Java to run the program. Additionally, users can now display traces for the voltage and current bus, VDM, UCSI, and more. The new STM32CubeMonitor-UCPD also monitors electrical values from the battery. Thus, developers can monitor the progress of their processes and see what’s happening by connecting two USB devices, or making use of Power Delivery.

Michal Pukala
Electronics and Telecommunications engineer with Electro-energetics Master degree graduation. Lightning designer experienced engineer. Currently working in IT industry.