![]() |
Coming soon |
1. What is AI at the edge
Smart objects are changing nearly every aspect of our daily lives, helping in our homes, workplaces, cities and factories. ST has been investing in AI for many years, recognizing that microcontrollers provide enough processing power to run AI software on smart objects and enable AI on the edge.
Local processing fixes many problems met when running AI algorithms purely in the Cloud:
- Latency and high communication costs on connected devices
- Reliability in case of limited network bandwidth or connectivity loss
- Power efficiency on battery-operated devices, as high-bandwidth connectivity requires large device batteries, leading to a rise in cost
- Data privacy since data is transformed locally and doesn't require to send all monitored data over the internet where security breach may occur during transmission or at Cloud storage
To simplify the development of AI algorithms on STM32, ST has developed a solution called STM32Cube.AI.
2. Getting started with STM32 and STM32Cube.AI
STM32Cube.AI solution brings the following:
- A CubeMX extension called X-CUBE-AI to convert an NN in optimized code. It is inter-operable with state-of-the-art Deep Learning design frameworks such as Keras, TensorFlow, ONNX,... It supports quantization scheme and optimizations for STM32, reducing memory requirement by 4 and decreasing latency and power consumption by 3.
- Software examples on ST development hardware boards are available for quick prototyping:
- Audio and motion sensing with the FP-AI-SENSING1 function pack
- Vision with the FP-AI-VISION1 function pack for MCUs and the X-LINUX-AI-CV expansion pack for MPUs
- STM32 community with dedicated neural networks topic
- AI Partner Program that brings expertise in Machine Learning and STM32 solutions
Check our list of resources for detailed information.
4. STM32 compliant with STM32Cube.AI
STM32Cube.AI supports all ARM Cortex-M4 and Cortex-M7 based MCUs, as well as STM32 MP1. Other MCUs are supported in our partner ecosystem or can be added on-demand.
STM32Cube.AI supports the following deep learning frameworks:
Supported versions and layers for each framework are detailed in X-CUBE-AI release note. This documentation is available in X-CUBE-AI local installation folder at this location:
STM32Cube/Repository/Packs/STMicroelectronics/X-CUBE-AI/5.0.0/Documentation/faqs.html
5. X-CUBE-AI overview
X-CUBE-AI is a tool provided to help customers to:
- Generate STM32 code from a python neural network described in supported AI frameworks
- Analyze the network and see if it fits on the target
- Validate the generated C code on the PC or on the target against the original model
It is available through STM32CubeMX Graphical User Interface, or via Command Line Interface.
Software requirements
Supported operating systems and architectures
- Windows 10 64-bit (x64)
- Linux (tested on RedHat, Fedora and Ubuntu 16.04) 64 bits
- macOS (minimum version High Sierra)
Prerequisite
- STM32CubeMX: 5.0.1 or higher is required
License
STM32CubeMX and X-CUBE-AI extension are delivered under the Mix Ultimate Liberty+OSS+3rd-party V1 software license agreement SLA0048.
6. STMicroelectronics Resources
All resources are gathered on STM32Cube.AI web page.
7. How to and Examples
8. References