Where do you start when you are unfamiliar and potentially intimidated by such a large and rich development world as the STM32Cube ecosystem? The answer is, “Here!” Many of our partners and customers have expressed the desire to see more products use the STM32Cube environment. It’s for this exact reason that we have moved devices like the BlueNRG-LPS and S2-LP over to STM32 microcontrollers (for more information, see our blog post on the STM32WB0 and STM32WL3). Developers enjoy the graphical user interface and ease of use of tools like STM32CubeMX, the free STM32CubeIDE, and the many software packages, drivers, and middleware that help them release a product to market faster.
However, we also know that many are trying an STM32 device for the first time. Whether because they got their hands on a Discovery Kit or Nucleo boards, or simply because more and more companies are choosing to adopt our devices, there are an increasing number of engineers taking their first steps in our ecosystem. Hence, to make this experience with an STM32 more accessible, and lower the barrier to entry, we have developed tools like the STM32 Developer Zone and the STM32 Finder. Let’s explore how they can assist teams in their journey, even be a positive contributor to seasoned experts, and how they bring the STM32 ecosystem together.
The STM32 Developer Zone
New approaches to development
Increasingly, new markets are adopting embedded systems, and engineers must familiarize themselves with complex concepts. For instance, developers may need to quickly learn how to take advantage of AI on a microcontroller, write a low-power wireless application designed for harsh environments, or implement strong security safeguards to meet new regulatory requirements. It was thus important for ST to help teams make the right choices for their products faster. The STM32 MCU Developer Zone is already playing a significant role in our community and is ranked as the number one page on ST.com in customer satisfaction. It was thus normal to use this platform to serve STM32 developers better.
While keeping the original spirit that made the Developer Zone successful, we felt it would help our community further by providing a new STM32 MPU Developer Zone. Additionally, we worked on a new application-based approach to complement the existing product or software selectors for tools like STM32CubeIDE. We also have a “Solutions” tab with sections on GUIs, motor controls, USB-C Power Delivery, and more, while “Developer Resources” will guide newcomers and experts alike by pointing them to relevant technical documentation. The website thus remains a quick way to find the right development board and software tools while guiding new engineers as they take their first steps.
Localization in Chinese and Japanese
In our effort to reach more STM32 developers, we are thrilled to have launched the Chinese and Japanese versions of the STM32 MCU and MPU Developer Zone. The sites provide feature parity with the English site, thus offering a strong platform for our communities in Asia. Indeed, beyond simply translating the landing pages, we are making technical documentation available in those languages, such as our white paper on security. In a nutshell, the localized versions of the Developer Zone are another testament to our desire to reach engineers where they are and work with regions by providing solutions tailored to their needs and markets.
- STM32 MCU Developer Zone in Chinese
- STM32 MPU Developer Zone in Chinese
- STM32 MCU Developer Zone in Japanese
- STM32 MPU Developer Zone in Japanese
Operating systems and an official Visual Studio Code extension
The STM32 Developer Zone will continue to receive frequent updates. For instance, we are working on releasing other solutions for the STM32U5 besides AzureRTOS in STM32CubeU5. Similarly, the STM32 Developer Zone will also promote an official Visual Studio Code extension. Developers will be able to flash their devices, track variables, and get error messages within their environment, thus vastly simplifying their workflow. Finally, the STM32 Developer Zone will also receive updates featuring software for the newly announced STM32H5 and for the new STLINK-V3PWR, which both launched at this year’s STM32 Innovation Live.
The STM32Cube Ecosystem
What is the STM32Cube Ecosystem?
Launched in mid-2014, the STM32Cube brand designates our solutions to help developers design products and applications. The software ecosystem relies on two pillars: embedded packages and software tools. There are two types of STM32Cube Packages: MCU Packages and Expansion Packages. The MCU Packages (STM32CubeF4, for instance) contain drivers, low-level APIs, and demos or example codes for Nucleo and Discovery boards. The STM32Cube Expansion Packages complement the device packages by offering additional middleware or drivers, as we recently saw with X-CUBE-AI, the first package in the industry to enable the conversion of a neural network into the optimized code for STM32 MCUs.
The STM32Cube software tools for PCs assist in the design of applications. It is common to hear partners say they rely on utilities like STM32CubeMX or STM32CubeProgrammer for their projects. And many of our tutorials use them to make our technologies more accessible. However, there are many other STM32Cube software tools. For instance, STM32CubeMonUCPD is a monitoring tool that works with all our USB-C PD interfaces and libraries to facilitate testing and implementation operations. And STM32CubeProgrammer is a programming tool that makes STM32 MCUs more accessible and efficient.
How tools in the STM32Cube ecosystem work together?
As time passes, tools and packages within the STM32Cube ecosystem have come to work together. For instance, STM32CubeMX is baked into STM32CubeIDE. Put simply, over the years, developers have experienced how the ST toolchain has become more cohesive. Obviously, we will also continue to release standalone versions of our STM32Cube tools for the developers who use other toolchains, ensuring that anyone can easily benefit from our STM32Cube ecosystem. However, ST engineers and researchers will continue to commit to dogfooding our tools, such as using STM32CubeIDE, because we want to be truly invested in our ecosystem and closer to our community.
How software packages in the STM32Cube Ecosystem work together?
Up to now, developers who wanted to use an STM32Cube expansion package had to find the right one, download it, and unpack it. That meant adding source files to an IDE or even exploring its source code. Additionally, porting it from one MCU to the next isn’t always straightforward if an application uses specific pins or IPs. It may also be imperative to install drivers, libraries, or middleware. Until now, ST offered documentation and tutorials to help developers. When there were only a few expansion packages, things were much more straightforward. Now that the STM32Cube ecosystem is so large, frictions can significantly increase.
The solution comes from the integration of STM32Cube expansion packages within STM32CubeMX. In a nutshell, developers can select an X-CUBE package straight from the MCU configuration tool. It required that we update existing packages, and a list of compatible solutions is available. We will also continue to ensure that most upcoming STM32 expansion packages from ST support this feature. By integrating these software packs within STM32CubeMX, users select the package, generate the files, and simply start coding. As a result, it lowers the barrier to entry for developers less familiar with our ecosystem.
How can ST Authorized Partners bring their software packages to the STM32Cube ecosystem?
Another issue that developers may encounter pertains to the ability to share their custom solutions. It is common for a company with specific needs to create a custom expansion package. Partners may then want to offer solutions to the community. For instance, we talked about embOS from SEGGER and Unison RTOS from Rowebots on the blog, but there are many others. These solutions, found under the I-CUBE initiative, help engineers add features and experiment with various technologies. However, sharing a custom package within a company or the community is not always obvious or easy. Hence, we wanted to help partners more easily create highly sharable packages.
To remedy this particular point of friction, ST is opening STM32CubeMX to I-CUBE packages. Put simply, the same integration we bring to our STM32 expansions (X-CUBE) is now available to all developers. Anyone can now build a package using STM32CubePackCreator to create a solution that can appear within STM32CubeMX. However, we’ll curate what’s visible by default within the MCU configurator tool. We offer documentation to guide developers in this process to ensure uniformity and compatibility within the STM32Cube Ecosystem. We are also offering STM32PackCreator. The utility, found within STM32CubeMX, facilitates the creation of a software package from scratch.
An expansion software follows CMSIS-Pack (Cortex Microcontroller Software Interface Standard). Many will also be configurable within STM32CubeMX’s GUI. To abide by the CMSIS-Pack specifications, developers must include a PDSC (Pack Description) file. Such a document uses XML and demands detailed information on all the pack’s content. Similarly, to make the X-CUBE or I-CUBE configurable within STM32CubeMX, STM32PackCreator uses a dedicated UI. It opens the door to a system that puts a wealth of options at a user’s fingertips, ensuring developers no longer have to configure everything manually by writing code. STM32PackCreator thus removes friction by automatically generating the PDSC file. It also ensures the software components are configurable within STM32CubeMX.
What is STM32 Finder?
Not everyone working with STM32 necessarily writes code or designs a PCB. For instance, a manager may plan for a project, or a decision-maker may want to know a component’s specifications. In such a situation, having to download STM32CubeIDE or STM32CubeMX would be cumbersome. As a result, we created STM32 Finder, ST’s mobile application for smartphones and tablets. The tool includes an extensive search feature to find a device or a related development board rapidly. Users also get to download various documentation or rapidly access social media channels and community forums.
How did ST optimize its search engine?
To improve the user experience, ST made STM32 Finder faster and added features for power users. The former came from overhauling the mobile version. By optimizing its code, we increased response times significantly. We are also adopting a responsive design to allow users to compare many devices at once, regardless of the display size. ST also changed the app’s update system to only download changes to the database rather than an entirely new one. Hence, updates are more frequent and take far less time to install to ensure searches are up to date. The latest version also includes new links to various online outlets to find partners, ask questions, or learn what’s new.
ST also reworked the search feature to make it vastly more customizable. For instance, users can now distinguish between packages. As a result, they can see how various models may influence thermal performance or prices, among other things. The application can also group categories of specifications. For example, users can search for a device by grouping UART, LPUART, and USART together. Hence, finding a device’s total number of peripherals can help answer specific questions without digging into the datasheet. Developers could also use the new grouping system to search for devices with SPI and USART since the latter also serves as an SPI.
- Check out STM32 Finder
- Surf the STM32 MCU Developer Zone
- Explore the STM32 MPU Developer Zone
- Learn more about the STM32Cube ecosystem
- On-demand webinar: STM32Cube expansion packs, or how to boost your STM32 design
for more information visit: https://blog.st.com/stm32-developer-zone-stm32-finder/