ST is unveiling STM32 Hotspot today on GitHub, which comprises repositories developed by ST employees for demos or example features that are not part of the official ST GitHub page or the traditional STM32Cube ecosystem on ST.com. Developers now have access to more code examples to help them implement a significantly broader range of new functionalities. There are 27 repositories today, with more on the way. All projects comply with standard ST licensing rules, meaning that any developers can reuse our source code on an STM32 project without worrying about copyright restrictions or copyleft regulations that would compromise commercial projects. Moreover, while STM32 Hotspot doesn’t accept third-party submissions, we strongly encourage forking or cloning projects locally and customizing them.
Table of Contents
The official ST GitHub vs. STM32 Hotspot
Why is the official ST GitHub so popular?
Most STM32 developers are already familiar with ST’s official GitHub page. It contains more than 450 repositories, from standard STM32Cube MCU packages for all current STM32 microcontroller series to expansion packages for specific applications. For instance, ST published ￼four machine learning programs￼ last year on the official GitHub channel. It ensured developers could reduce their time to market when using our sensors and our code for movement recognition. Similarly, ST released its X-CUBE-AZRTOS on GitHub last April to hasten developments on Azure RTOS. The code serves as implementation examples for features like FileX, ThreadX, or USBX, among others.
Why did so many users want an STM32 Hotspot?
All projects on the official ST GitHub page undergo rigorous inspection and receive extensive support. However, the projects on the official ST GitHub are just a fraction of what our prolific employees come up with. Regional offices and many of our divisions write applications for trade shows or to meet a customer’s demand. Many teams conceive small validation programs or test applications showcasing specific features. However, ST developers don’t share them because they were never meant to go through official distribution channels. The STM32 Hotspot solves this by opening a new avenue for innovation and creativity. By providing projects as-is, authors don’t have to commit as much to specific programs, and users get more code to assist them.
STM32 Hotspot is also a direct answer to the many people that reach out to our teams during trade shows or through the course of normal operations to request that we share our smaller projects. The new GitHub page is thus a hub between ST engineers and our community. By default, projects on STM32 Hotspot don’t allow users to submit issues and pull requests. However, some authors may choose to adopt a more active role and accept them. We have also put processes in place to protect our community. All repositories go through a FOSS evaluation to ensure users can download, modify, and use the source code in commercial applications without exposing themselves to copyright infringement.
STM32 Hotspot and machine learning
Example: Machine Learning and Bluetooth on an STM32WB
Among the many repositories available on STM32 Hotspot, we wanted to highlight two. The first one, STM32WB-BLE-AI-MotionSense, combines AI and RF by running a machine learning application on an STM32WB. The system can distinguish between walking, running, or staying put. It then sends the result over Bluetooth to the ST BLE Sensor application on iOS or Android. The project comes with predefined models that run on the STM32WB5MM-DK board, which uses the ISM330DHCX, an inertial sensor with a machine learning core. The code thus shows how AI at the edge can run powerful models on a device like an STM32WB, thanks to the processing capabilities available on the sensor.
The Readme file comes with an installation guide. Users can follow the steps to install and run the application. They also get a pre-trained Keras model. However, developers can use this repository to load their models and data. The project itself then becomes a playground for testing pre-trained networks. However, if using custom models, it is critical to adjust the sensor capture settings to reflect the training dataset. The repository also helps implement a wireless stack to transmit data efficiently using Bluetooth LE.
Example: An STM32U5 and a MEMS with a Machine Learning Core
The other project is a fall detection system running on the B-U585I-IOT02A Discovery kit, the B-U585I-IOT02A-ISM330DHCX-FreeFall-Detection. The board uses an ISM330DHCX accelerometer and gyroscope with a finite state machine and a machine learning core. Hence, the repository still uses the sensor’s AI capabilities to run a free-fall detection. However, this use case runs on an STM32U5 and is closer to a commercial application. The code itself doesn’t claim to be production ready, but it offers a solid foundation. If the system detects a free-fall, it turns the board’s green LED on. Developers can thus start with this project to implement a similar feature in their product.