Introduction to Artificial Intelligence with STM32

This page contains application examples, document references, tips and tricks and so on related to STM32 artificial intelligence.

STM32CubeAI banner.jpg

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. STMicroelectronics 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 at the edge.

EdgeAI.jpg
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 does not 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 microcontrollers, STMicroelectronics has developed a solution called STM32Cube.AI.

2. STM32Cube.AI overview

STM32CubeAI.png


STM32Cube.AI solution brings the following:

Check our list of resources for detailed information.

3. Videos related to STM32Cube.AI

AI solutions on STM32

4. STM32 supported by STM32Cube.AI

STM32Cube.AI supports all Arm® Cortex®-M4, Cortex®-M33 and Cortex®-M7-based MCUs, as well as STM32 MP1. Other MCUs are supported in our partner ecosystem or can be added on-demand.

STM32 family compatible with STM32Cube.AI and partners

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 users to:

  • Generate STM32 code from a Python™ Neural Network described in supported AI frameworks. It supports quantization scheme and optimizations for STM32, reducing memory requirement up to a factor of 4 and decreasing latency and power consumption up to a factor of 3.
  • 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 Red Hat®, Fedora® and Ubuntu® 16.04) 64 bits
  • macOS® (minimum version High Sierra)

Prerequisite

  • STM32CubeMX: 5.1.0 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

7.1. STM32 MCU

7.2. STM32 MPU

8. References