Author: STMicroelectronics
STM32CubeMonitor 1.8 is the first version to add support for the SEGGER J-Link hardware probe. As a result, developers who are familiar with the third-party probe will be able to use it while capturing data with the ST software. It will make debugging and monitoring operations a lot simpler. As the J-Link fully supports the JTAG interface and offers download speeds of up to 4 MB/s (J-Link ULTRA+ / PRO), it also opens the door to greater development opportunities and rapid flashing operations. That’s why ST updated STM32CubeMonitor. We wanted to make the tool even more practical and enable developers to enjoy a more flexible and practical STM32 ecosystem.
ST often releases new versions of STM32CubeMonitor, STM32CubeMonitor-RF, and STM32CubeMonitor-UCPD. The tools repeatedly appear on our blog posts because many STM32 developers use them to release their products to market faster. Indeed, the challenge for any embedded system engineer is to find a comprehensive platform for their microcontroller or microprocessor. A device may have many features, but it won’t be useful if designers can’t implement them efficiently. As a result, it is critical to offer a wide range of software tools that facilitate the development of applications on STM32 devices. Let us, therefore, explore some of these tools and their new functionalities.
What’s new in STM32CubeMonitor 1.8?
The big update brought by STM32CubeMonitor 1.8 is the support for SEGGER J-Link probes. Avid readers of the ST Blog already know that SEGGER is an active member of the ST Partner Program. The company ships embOS, a real-time operating system optimized for STM32 devices. In fact, embOS was also one of the first pieces of software to receive the MadeforSTM32 label. More recently, we shared how SEGGER launched their STM32-SFI Flasher Commander to enable entire assembly lines to support software firmware installs (SFI). Hence, the support of their J-Link probes should come as no surprise.
The support of the SEGGER probe within STM32CubeMonitor is relatively straightforward. Instead of using the traditional STLINK in and out nodes acq stlink in
and acq stlink out
, developers just use ack jlink in
and ack jlink out
within the Node-RED interface. Hence, instead of having to convert the on-board STLINK into a J-Link, engineers can use the hardware probe to enjoy the SEGGER suite of software and solutions. Finally, STM32CubeMonitor 1.8 adds support for a greater range of acquisition rates when choosing a frequency lower than 1 Hz. The feature will help customize how often the software captures data, thus further optimizing its operations.
What is STM32CubeMonitor?
The Netflix of MCUs
STM32CubeMonitor is a runtime variable monitoring and visualization tool with a web interface for remote connections and a graphical interface to create custom dashboards. It ensures developers can efficiently monitor their application through a graphical interface that relies on Node-RED. This flow-based programming tool enables users to create complex data representations with no coding at all. It will allow them to debug their software easily and analyze behaviors without disrupting an existing codebase. Additionally, users can share their dashboards on the Node-RED and ST communities to build on one another.
To make the first experience with STM32CubeMonitor more intuitive, the ST Wiki explains in detail how developers can monitor a variable within an application in just two steps. Users select the start address of the data they track in memory and its type. To assist in this task, we have a guide showing how to get addresses from ELF files. The interface then asks the user to select an STLINK probe.
A runtime monitoring utility based on Node-RED
Keeping track of registers, variables in memory, interrupts, and the myriad of events that occur at any moment is daunting. Hence, manually monitoring them is so demanding that teams often do not have the resources for this endeavor. STM32CubeMonitor solves this problem and relies on Node-RED to keep things as simple as possible. Users drag and drop graphical representations of a program’s element onto a canvas to create a flow, meaning a sequence of events. For instance, conditions can trigger modules that send alerts by email or push data to a cloud platform using MQTT.
Without entering a single line of code, users can create graphs, chart plots, or generate gauges that will help them visualize values in a counter, data from a sensor, and many other aspects of an application. Additionally, the presence of a web server means that it’s possible to use these visualizations on any PC or mobile browser, whether on the local network or remotely. Moreover, thanks to the Node-RED and ST community, users can start by looking at other users’ dashboards and organically learn by studying other people’s examples.
A .CSV generator for power users
The previous version of STM32CubeMonitor (version 1.6) updated the export to CSV feature to generate files that would work better with spreadsheets. For instance, the time column moved before the value column to fit how most people set their tables. Similarly, time began at 0, and long numbers got a separator to be more readable. Finally, version 1.6 also made it easier to identify probe configurations by giving them names.
Version 1.7 of STM32CubeMonitor now builds on the previous release to bring features requested by our users to turn the CSV exporter into a powerhouse. For instance, creating and organizing multiple columns within the export interface is now possible. Previously, users would have had to run a Python script to manipulate data or do everything in their spreadsheet application, which tends to be cumbersome. Similarly, each variable gets its column and a timestamp to better track it. Hence, the new options within STM32CubeMonitor ensure users can structure their data more easily and use their spreadsheet software to view the results instead of applying time-consuming changes.
Node-RED 3.1
Since version 1.5, STM32CubeMonitor supports Node-RED 3. One of the most significant improvements is the addition of a contextual menu available when users right-click. Consequently, they can access a lot more actions and discover features that would previously require digging into menus. The other important functionality available in Node-RED 3 is junctions, a special type of node that makes it easier to route wires. It helps simplify and clarify designs by bringing greater flexibility. Version 3 also introduced debugging capabilities that expose node locations when working with sub-flows, thus helping developers see what node is generating an error message.
And since version 1.7, STM32CubeMonitor uses Node-RED 3.1, which brings notifications management at the tab level, thus offering a lot more granularity to developers tracking multiple aspects of their application. Users also get a bigger workspace (from 5000×5000 to 8000×8000) and lockable flow, which can prevent accidental changes, which is especially important when dealing with mission-critical flows. Version 3.1, released only a few months ago, also updated the context panel to include popular options absent from the previous iteration, forcing users to dig through menus. Finally, among the many other improvements, Node-RED 3.1 optimized the wiring between horizontally aligned nodes to make them significantly more readable.
Eco acquisition mode
STM32CubeMonitor features a low-power acquisition mechanism, named ECO mode, that reduces CPU consumption by lowering the ring sample rate below 10 Hz. There are many instances when developers don’t need fast data acquisition and could benefit from a lower processing load. Traditionally, the utility captures variables every 50 ms or double the low rate frequency. Thanks to the ECO mode, developers get far more granularity and can manage resources better. The feature is also quite accessible since the threshold is simply a value in the settings file. Changing it is thus straightforward.
A support tool throughout the life cycle of a product
During the prototyping phase, engineers will likely use an STLINK probe, such as one of the STLINK-V3 modules currently available. It connects the MCU board to the PC, which will help set up the STM32CubeMonitor Dashboard and act as a gateway for the web interface. As designers prepare to ship their final product, they can create a software routine that will send data to a USB port using UART. Developers can thus still monitor their application securely by using a computer with STM32CubeMonitor connected to that USB port. As a result, the tool provides a long-term analysis that will help plan upgrades or upcoming features.
New format and symbol change notification
The latest version of STM32CubeMonitor brings the ability to export data in CSV instead of simply using a proprietary format. Users can import the information into Excel, MATLAB, and others, opening the door to more data optimization and manipulation. The new software will also throw a notification if symbols change. Put simply, the utility tracks variables by defining them in a file and associating them with a symbol. However, recompiling the code may render the symbols’ files obsolete, creating discrepancies with the Node-RED dashboard. The new STM32CubeMonitor will alert users if they forget to update the symbols’ file.
What’s new in STM32CubeMonitor-RF 2.12?
To support the latest features present in STM32WB and STM32WBA devices, STM32CubeMonitor-RF must align itself with their Bluetooth Low Energy stacks. Consequently, each new release tracks the changes brought to the microcontrollers’ firmware packages. In this instance, STM32CubeMonitor-RF 2.12 is aligned with version 1.17.0 of the firmware for the STM32WB and version 1.1.0 for the STM32WBA, the 1st wireless Cortex-M33 for more powerful and more secure Bluetooth applications. Additionally, the new utility brings support for over-the-air firmware updates on the STM32WBA and the latest Open Thread stack on the STM32WB.
What are some of the key features of STM32CubeMonitor-RF?
Utility to optimize Bluetooth and 802.15.4 applications
STM32CubeMonitor-RF is a tool that tests the Bluetooth and 802.15.4 radio performance of STM32WB microcontrollers. The graphical user interface helps visualize signal strength and packet errors over time, while a command-line interface opens the door to macros, batch files, and other types of automation. Put simply, it draws from the same philosophy as the traditional STM32CubeMonitor but specializes in radio performance. Hence, developers can rapidly test their design and potentially spot issues. The utility can also sniff 802.15.4 communications between devices. The easiest way to try the utility is to connect an STM32WB development board to a computer and use its USB or UART interface.
Over-the-air performance
Since version 2.8.0, STM32CubeMonitor-RF more than doubled over-the-air performances thanks to larger data packets. When users select the “Optimize MTU size” option in the “OTA Updater”, the software tool increases OTA transfers from 16 kbit/s to 41 kbit/s. It is, therefore, an essential quality of life improvement for developers. Sending files or updating a device’s firmware are everyday operations during development. The faster speeds will ensure developers work faster and more efficiently.
Advanced Features
The software package includes advanced features like an OpenThread 1.3 stack and an 802.15.4 sniffer firmware that works with a USB dongle or a Nucleo board. STM32CubeMonitor-RF also inaugurates a new BLE Received Signal Strength Indication (RSSI) acquisition scheme, which helps determine the approximate distance between two Bluetooth devices. Faithful readers of the ST Blog will remember that the technology was crucial during the pandemic in assisting companies like Inocess in developing products such as the Nextent Tag to help maintain physical distancing guidelines.
Another milestone is that STM32CubeMonitor-RF 2.10 brought the latest features from the STM32WB BLE 5.3 firmware (stack version 1.15.0). Developers thus get to enjoy BLE extended advertising. Traditionally, Bluetooth 4 and 5 have three advertising channels only, each capable of sending a payload of 255 bytes. Thanks to extended advertisements, sending a much larger payload is possible using one of the 37 data channels. One of the three channels simply sends a header pointing to the extension. Consequently, developers don’t need to send the same data on all three channels to ensure its reception, and they can transmit more data faster.
ACI logs
CubeMonitor-RF 2.11 brought a quality of life improvement in the form of application command interface (ACI) logs in CSV format. Put simply, ACI is the mechanism that sends commands to the Bluetooth stack, and thus, one of the first logs developers look into when debugging or optimizing their software. Previously, ACI logs were only available in a traditional .txt format. The move to CSV opens the door to clearer presentations and easier manipulation. For instance, users can rapidly sort the list of commands by value, type, or number of times they were sent.
New testing capabilities
Version 2.11 of CubeMonitor-RF brought a new method of testing the reliability of 802.15.4 stacks thanks to the support of a continuous wave mode. As the name implies, it just sends an uninterrupted signal without modulation. Developers can thus perform basic but crucial measurements to gauge signal propagation under several conditions. It’s an important first test for engineers looking to understand how their design will perform. Currently, the feature is only available on devices running the STM32CubeWB 1.11.0 firmware or later.
What’s new in STM32CubeMonitor-UCPD 1.3?
STM32CubeMonitor-UCPD 1.3 is now compatible with the USB Extended Power Range (EPR), a new profile delivering 48 V at 5 A for a total of 240 W. At this level, it becomes a lot simpler to fast-charge laptops or power docking stations with multiple fast-charging ports. Moreover, 240 W also brings USB-C to more power tools, further democratizing the connector. As makers look to use one port to save resources, reuse cables, and reduce waste, support for the EPR mode enables teams to adopt the new standard faster. Furthermore, as 240 W compatible cables are now becoming available, it is critical. to adopt the profile as early as possible.
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 even has predefined settings to facilitate and hasten developments by handling many of the complexities inherent to these new technologies. STM32CubeMonitor-UCPD was integral to the launch of ST’s USB-C Power Delivery ecosystem in 2019. Since then, we’ve continued to improve the software to help developers gauge performance and obtain certifications faster.
Since STM32CubeMonitor-UCPD 1.2.0 houses a Java machine, like the other tools in this blog post, the utility has everything the installer needs. Users no longer need to install Java themselves before running the application. 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. Hence, developers can track more processes and understand what happens when connecting two USB-C devices or using Power Delivery.