STM32Cube ecosystem
overview
Making STM32
development easier
Inside the STM32Cube ecosystem
Software Tools Embedded Software Complemented with Microsoft Azure RTOS
Azure RTOS ThreadX
Real-time operating system
Configuration Packages
Azure RTOS FileX
FAT file system, fault tolerant
Development User application
Middlewares
+ Azure RTOS
Drivers
Programming
Azure RTOS NetX/NetX Duo
TCP/IP stacks
Expansions
Monitor
Azure RTOS USBX
USB stack, host and device
2
Production License for any STM32
STM32Cube Ecosystem: User benefits
Easily getting the most out of STM32 MCUs for a drastically reduced
customer development cycle and time-to-market
Fits many developer profiles
from beginners to experts Easy and fast learning curve
• Exhaustive software for a competitive advantage
development framework Easy to • Reduced time-to-market
Accessible Use
• Free ST IDE (GCC) and • Allows focusing on applicative
professional IDE partners
• Free of charge and business- differentiation
friendly license terms
Expandable
Fits many customer use cases
• Complemented by many solutions from official ST partners
• Production-ready 3
STM32Cube embedded software
A flexible, scalable and consistent MCU offer
Customers Applications
STM32Cube Embedded Software
STM32Cube
STM32Cube Expansions
Expansion Packages STM32Cube Expansion Packages
from ST from Partners
Connect Secure Process Move/Actuate Sense Convert Power-up
STM32Cube MCU & MPU Packages
STM32Cube MCU Middleware
TCP 802.15.4
/IP
STM32Cube HAL & LL drivers
Arm ® Cortex ® -M
5
STM32Cube MCU packages
Dedicated to each STM32 Series
Mainstream High Performance MPU Ultra-Low Power Wireless
MCU MCU MCU MCU
www.st.com/stm32cubemcupackage 7
One-stop-shop SW packages
Peripheral drivers
HAL API
Hardware Abstraction Layer, highly portable and
easy to use
LL APIs
Low-Layer APIs, light weight and highly optimized
for runtime efficiency
STM32Cube Middleware
Generic MW Dedicated MW
• FreeRTOS • ST Bluetooth 5 stack • LoRaWAN stack • TF-M
• FatFS file system • OpenThread stack • Sigfox stack • ST USB Host & Device stacks
• LwIP TCP/IP stack • ST 802.15.4 MAC • Sub-GHz phy • STM32 Touch Sensing library
• mbedTLS and mbedCrypto • Zigbee 3 stack • ST Key Management • STemWin graphics stack
• Open Bootloader • STM32 WPAN Services (KMS)
www.st.com/stm32cubemcupackage 8
Detailed content and organization
STM32Cube MCU
Package
Drivers Middleware Projects Documents Utilities
STM32xxx- STM32xxx- STM32xxx-
CMSIS ST Third Party Nucleo EVAL
Discovery
STM32xxx_ STemWin FatFS Demonstrations Demonstrations
HAL_Driver
Factory demoes of the STM32 boards
BSP
STM32_
FreeRTOS Applications Applications examples
Audio
using Middleware (ex: USB virtual com port)
STM32_USB_
LibJPEG Examples
Simple examples
Device_Library
for STM32 Peripherals (ex: GPIO, USART, …)
STM32_USB_
Host_Library LwIP Templates
Empty template projects
Prepared for user modification and pre-
configured for several IDEs
TouchGFX mBedTLS Templates_LL
9
Middleware tailored for each series
USB
LL HAL USB LwIP Touch USB BLE OpenThread Zigbee
Family FreeRTOS FatFS STemWin OpenAMP LoRaWAN Sigfox TF-M
API API Device mBedTLS Sense PD Stack Stack 3
Host
STM32CubeF0 ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeF1 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeF2 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeF3 ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeF4 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeF7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeH7 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeG0 ✓ ✓ ✓ ✓ ✓
STM32CubeG4 ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeL0 ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeL1 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeL4 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeL5 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeWB ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeWL ✓ ✓ ✓ ✓ ✓ ✓
STM32CubeMP1 ✓ ✓ ✓ ✓
STM32Cube expansion packages
X-CUBE / I-CUBE / Function Pack (FP)
Function Pack (FP)
Advanced applicative projects and libraries
X-CUBE packages
From ST
Ex: X-CUBE-AZRTOS-H7, X-CUBE-AI,
X-CUBE-TOUCHGFX, X-CUBE-SBSFU,
X-CUBE-CRYPTO, …
I-CUBE packages
From 3rd parties
Ex: I-CUBE-EMBOS, I-CUBE-UNISON,
I-CUBE-CANOPEN…
Complementing and expanding the STM32Cube MCU Packages with middleware alternatives
or straightforward implementations of real applicative use cases
12
www.st.com/x-cube
Expansions with middleware
Azure RTOS
X-CUBE
Enhanced for
X-CUBE-AZRTOS-H7 STM32 Toolset
Azure RTOS ThreadX Azure RTOS NetX/NetX Duo
Real-time operating system TCP/IP stacks
Azure RTOS FileX Azure RTOS USBX
FAT file system, fault tolerant USB stack, host and device
13
Expansions with middleware
UNISON WolfSSL CANopen embOS
I-CUBE I-CUBE I-CUBE I-CUBE
I-CUBE-UNISON I-CUBE-WOLFSSL I-CUBE-CANOPEN I-CUBE-EMBOS
Enhanced for Enhanced for Enhanced for
STM32 Toolset STM32 Toolset STM32 Toolset
14
Expansions for various applications
Audio Crypto Sub-1G
X-CUBE X-CUBE X-CUBE
X-CUBE-AUDIO X-CUBE-CRYPTOLIB X-CUBE-SUBG1
X-CUBE-VS4A
X-CUBE-USB-AUDIO BLE
USB
X-CUBE
Bootloader/Secure Boot X-CUBE Enhanced for
X-CUBE-BLE1 STM32 Toolset
X-CUBE-USB-PD
X-CUBE X-CUBE-BLE2 Enhanced for
STM32 Toolset
X-CUBE-IAP-USART
X-CUBE-IAP-SD SigFox NFC
X-CUBE-SBSFU
X-CUBE
X-CUBE
X-CUBE-SFOX Enhanced for
Safety X-CUBE-NFC42 STM32 Toolset
X-CUBE
X-CUBE-CLASSB
LoRa GRAPHICS
X-CUBE-STL1 I-CUBE X-CUBE
Enhanced for
I-CUBE-LRWAN X-CUBE-TOUCHGFX STM32 Toolset
(1) Contact STMicroelectronics local representative
(2) Non-exhaustive list, please refer to st.com 15
Expansions with Function Packs
Cloud Motion AI
X-CUBE X-CUBE X-CUBE
Enhanced for
X-CUBE-CLD-GEN1 X-CUBE-6180XA1 X-CUBE-AI STM32 toolset
X-CUBE-AWS X-CUBE-IKA02A1
X-CUBE-AZURE X-CUBE-MEMS-XT1
Enhanced for
X-CUBE-WATSON X-CUBE-MEMS1 STM32 Toolset
X-CUBE-GCP X-CUBE-MEMS1-V4
FP FP FP
FP-CLD-AWS1 FP-SNS-6LPNODE1 FP-AI-SENSING1
FP-CLD-AZURE1 FP-SNS-ALLMEMS1 FP-AI-VISION1
FP-CLD-WASTON1 FP-SNS-FLIGHT1
FP-SNS-MOTENV1
16
Expansions for motor control
Motor - PMSM Motor - Stepper
X-CUBE X-CUBE
X-CUBE-MCSDK X-CUBE-SPN1
STM32 Motor Control SDK (MCSDK) Stepper bipolar motor driver software expansion for STM32Cube
X-CUBE-MCSDK-FUL X-CUBE-SPN2
Two axes stepper motor driver software expansion for STM32Cube
STM32 Motor Control SDK (MCSDK) –
FULL source code –
Registration/approbation needed for
download
X-CUBE-SPN3
High-power stepper motor driver software expansion for STM32Cube
X-CUBE-SPN4
Dual-brush DC motor driver software expansion for STM32Cube
X-CUBE-SPN7 X-CUBE-SPN5
Three-phase brushless DC motor driver Stepper bipolar motor driver software expansion for STM32Cube
17
Expansions enhanced for STM32 Toolset
I-CUBE-EMBOS
I-CUBE-UNISON
I-CUBE-WOLFSSL
X-CUBE-AI
X-CUBE-ALGOBUILD
X-CUBE-BLE1
X-CUBE-BLE2
X-CUBE-EEPRMA1
X-CUBE-GNSS1
X-CUBE-MEMS1
X-CUBE-NFC4
X-CUBE-SUBG2
X-CUBE-SFXS2LP1
X-CUBE-TOUCHGFX
Get you up and running faster on your own STM32 board prototype 18
STM32Cube expansions on ST website
stm32cube expansion
19
STM32Cube software
Development tools
A complete Software Development Tools offer
Customers Applications
STM32Cube Software Development Tools
STM32Cube Expansions
STM32Cube ST Tools STM32Cube Partners Tools
Applications tools
Connect Secure Process Move/Actuate Sense Convert Power-up
Arm ® Cortex ® -M
21
STM32CubeMX
What’s STM32CubeMX?
Graphical Configuration IDE Project Generation Multi-platform
(Pinout/Peripherals/Middleware/Clock-Tree) (IAR™, Keil™ and GCC compilers) (Windows, Linux, macOS)
23
STM32CubeMX key steps
Power Consumption
MCU / board / Example Selector
Calculator
Code Generation Pinout Configuration
Software Components Clock Tree Initialization
Parameters
Peripherals Configuration
I2C SPI UART
CAN 24
MCU / MPU selection
MCU / MPU
SELECTOR
BOARD
SELECTOR
EXAMPLE
SELECTOR
25
MCU/MPU selector
MCU / MPU BOARD EXAMPLE
SELECTOR SELECTOR SELECTOR
DESCRIPTION
&
INFORMATION
DEDICATED
FILTERS
PRODUCT
LIST
26
Pinout configuration
27
Clock-tree configuration
28
Peripheral parameters
29
Middleware and software components parameters
30
Add Expansion Middleware and build your own
or
Download and install Build your own Expansion Package
existing Expansion Package… with STM32PackCreator
…and select components to add to your project
31
Code generation
32
Power consumption calculator
33
STM32CubeMX repository
After pressing “GENERATE CODE”:
1. STM32CubeMX grabs necessary peripheral drivers
based on your pinout/peripheral configuration from
STM32Cube MCU Package in STM32CubeMX
Repository
2. STM32CubeMX grabs necessary middleware based on
your middleware configuration from STM32Cube MCU
Package in STM32CubeMX repository
3. Generate IDE project
STM32CubeMX IDE
Repository Project
34
MCU/MPU selection for AI application
35
STM32CubeIDE
Background of STM32CubeIDE
History
37
One tool for all your STM32 development
Chipset / Board Code Validation
Configuration Development Debug
38
Free multi-platform development tool
FREE
Eclipse/GCC Based Free for Commercial Development Multi-OS Support
39
Project management
Importer IOC Editor
TrueSTUDIO
Project
SW4STM32
Project
40
Code editor – navigation
Symbol Hyperlink Include Browser Call Hierarchy
Ctrl
Brace Navigation Macro Expansion Browser Type Hierarchy
41
Code editor – navigation (2/2)
Outline View Powerful Search Open Resource
Task Tags Bookmark Minimap
42
Code editor – writing
Highlight Inactive Code Auto-Complete Syntax Highlight
File Diff/Compare Block Select Code Style
43
01110 Build tools
Build Analyzer Static Stack Analyzer Headless Build
Jenkins Hudson
Continuous Integration
• Build project without opening IDE
No GUI shown but build system
becomes active
• Supported for makefile and
managed projects
44
Debug
Debugger Live expressions SWV
Integrated UART Terminal Remote Debug RTOS aware Debug
TCP/IP
ST-LINK
GDB Server
FreeRTOS
USB
ThreadX Microsoft Azure
JTAG/SWD
45
STM32CubeProgrammer
From ST-LINK Utility to STM32CubeProgrammer
ST-Link Utility STM32CubeProgrammer
47
All-in-one programming software tool
Multi-platform
Intuitive GUI
(Windows, Linux, macOS)
STLink Direct Support
Automatic Mode
(JTAG, SWD)
Option Bytes Bootloader Interface Support
Program & Upload (USB, UART, SPI, I2C, CAN)
Internal/External API DLL
Flash Services for Custom Integration
Command Line Interface Trusted Package Creator
for Scripting (secure programming)
48
From ST-Link V2 to STLink-V3
ST-Link V2 STLink-V3
STLINK-V3MINI
ST-LINK/V2
STLINK-V3MODS
ST-LINK/V2-ISOL
STLINK-V3SET
ST-LINK/V2-1
49
STLink-V3 debugger / programmer
Easier/Faster/Affordable
Stand-alone and scalable (V3SET)
Multi-path Bridge (I²C/SPI/CAN/UART/USB)
Drag&Drop Flash Programming
Compact (V3MINI) or On-board (V3MODS)
50
STM32CubeMonitor
STM32CubeMonitor overview
Monitoring application variables during runtime
• Non-intrusive tool to follow application behavior without
interruption.
• Real-time analysis to finetune application configuration.
Drag & drop creation of dashboard UI
• Large choice of graphical components (gauges, bar graphs,
plots...)
• Customize settings. No need for programming.
• Direct support of the Node-RED® open community.
Graphical visualization on any display
• Multi-OS tool: direct support of PC, tablets and smartphones.
• Remote monitoring.
52
Graphical custom data visualization
Design mode to create Dashboard mode to visualize
Build and edit the logical data flow and graphical Use the monitoring UI built previously and
rendering of the custom monitoring UI. visualize locally or remotely.
53
Remote monitoring
Native support of multi-format Dynamic layout of dashboard UI on
displays PCs, tablets, smartphones.
Remote data acquisition with Monitor across a network with a
web server technology web browser
User
SWD USB
Application
STM32 STLink probe Gateway Dashboard
54
STM32CubeMonitor-Power
STM32CubeMonitor-Power
STM32CubeMonPwr X-NUCLEO-LPM01A
Target
56
STM32 power profiling
Ultra-Low-Power Consumption Measurements
• Supply target board from 1.8V to 3.3V
• Dynamic current from 100 nA to 50 mA (100 dB)
• Static current from 1 nA to 200 mA
• Accuracy approximately 2%
Intuitive User Experience
• Two operating modes (stand-alone or PC-controlled)
• Graphical PC application (reference: STM32CubeMonPwr)
Official EEMBC Energy Monitor v2.0
Direct computation of ULPMark scores
57
STM32CubeMonitor-RF
STM32CubeMonitor-RF
A software tool allowing to test the radio performances of STM32WB MCUs for
BLE and 802.15.4 technologies
Test protocol sequences
Configure static / dynamic beacons
Manage Over the Air (OTA) file transfer
59
STM32CubeMonitor-UCPD
STM32CubeMonitor-UCPD
Monitoring and configuring tool for USB Type-C™ and
USB Power Delivery applications using STM32 microcontroller
Support of USB Type-C™ 1.2 and
USB PD 2.0/3.0
Port configuration pane for PD setting, VDM,
SOP, Source and Sink Capabilities
Port communication pane for VBUS and IBUS
monitoring, distant port capabilities,
message selector, and real-time traces
61
Key takeaways
Iterative development process
Configuration Development Programming Monitor
63
64
Find out more at www.st.com/STM32Cube
© STMicroelectronics - All rights reserved.
ST logo is a trademark or a registered trademark of STMicroelectronics International NV or its affiliates in the EU and/or other countries.
For additional information about ST trademarks, please refer to www.st.com/trademarks.
All other product or service names are the property of their respective owners.