STM32
STM32 is a family of 32-bit microcontroller and microprocessor integrated circuits by STMicroelectronics. STM32 microcontrollers are grouped into related series that are based around the same 32-bit ARM processor core: Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33, Cortex-M55, or Cortex-M85. Internally, each microcontroller consists of ARM processor core, flash memory, static RAM, a debugging interface, and various peripherals.
In addition to its microcontroller lines, STMicroelectronics has introduced microprocessor offerings such as the [|MP1] and [|MP2] series into the STM32 family. These processors are based around single or dual ARM Cortex-A cores combined with an ARM Cortex-M core. Cortex-A application processors include a memory management unit, enabling them to run advanced operating systems such as Linux.
Overview
The STM32 family of the microcontroller ICs is based on various 32-bit RISC ARM Cortex-M cores. STMicroelectronics licenses the ARM Processor IP from ARM Holdings and integrates them with custom-designed peripherals to create complete microcontroller solutions. Each STM32 microcontroller is designed for specific performance, power efficiency, and feature requirements, making them suitable for a wide range of embedded applications. The following tables summarize the STM32 family of microcontrollers and microprocessors.| Series | ARM CPU Core | Target |
| [|C0] | Cortex-M0+ | Low Cost |
| [|F0] | Cortex-M0 | Mainstream |
| [|F1] | Cortex-M3 | Mainstream |
| [|F2] | Cortex-M3 | High Performance |
| F3 | Cortex-M4F | Mixed-Signal Processing |
| F4 | Cortex-M4F | High Performance |
| [|F7] | Cortex-M7F | High Performance |
| G0 | Cortex-M0+ | Mainstream, Low Cost |
| G4 | Cortex-M4F | Mixed-Signal Processing |
| H5 | Cortex-M33F | High Performance, Security |
| H7 | Cortex-M7F, or Cortex-M7F and Cortex-M4F | High Performance |
| L0 | Cortex-M0+ | Low Power |
| L1 | Cortex-M3 | Low Power |
| L4 | Cortex-M4F | Low Power |
| L4+ | Cortex-M4F | Low Power |
| L5 | Cortex-M33F | Low Power, Security |
| N6 | Cortex-M55F and NPU | High Performance |
| U0 | Cortex-M0+ | Low Power |
| U3 | Cortex-M33F | Low Power, Security |
| U5 | Cortex-M33F | Low Power, Security |
| V8 | Cortex-M85F | High Performance, Security |
| WB0 | Cortex-M0+ | Wireless |
| WB | Cortex-M4F and Cortex-M0+ | Wireless |
| WBA | Cortex-M33F | Wireless, Security |
| WL | Cortex-M4 and/or Cortex-M0+ | Wireless |
| Series | ARM CPU Core | Target |
| MP1 | Single or Dual Cortex-A7 and optionally Cortex-M4 | Embedded Linux, Industrial, IoT |
| MP2 | Dual Cortex-A35 Cores + Cortex-M33 | High Performance, Machine Learning, Advanced HMI |
History
The STM32 is the third ARM family by STMicroelectronics. It follows their earlier STR9 family based on the ARM9E core, and STR7 family based on the ARM7TDMI core. The following is the history of how the STM32 family has evolved.| Date | Announcement |
| October 2006 | STMicroelectronics licensed the ARM Cortex-M3 core |
| June 2007 | ST announced the STM32 F1-series based on the ARM Cortex-M3 |
| October 2009 | ST announced new ARM chips would be built using the 90 nm process |
| April 2010 | ST announced the STM32 L1-series chips |
| November 2010 | ST announced the STM32 F2-series chips based on the ARM Cortex-M3 core, and future development |
| March 2011 | ST announced the expansion of their STM32 L1-series chips with flash densities of 256 KB and 384 KB |
| September 2011 | ST announced the STM32 F4-series chips based on the ARM Cortex-M4F core |
| February 2012 | ST announced the STM32 F0-series chips based on the ARM Cortex-M0 core |
| June 2012 | ST announced the STM32 F3-series chips based on the ARM Cortex-M4F core |
| January 2013 | ST announced full Java support for STM32 F2 and F4-series chips |
| February 2013 | ST announced STM32 Embedded Coder support for MATLAB and Simulink |
| February 2013 | ST announced the STM32 F4x9-series chips |
| April 2013 | ST announced the STM32 F401-series chips |
| July 2013 | ST announced the STM32 F030-series chips and availability in a TSSOP20 package |
| December 2013 | ST announced that it is joining the mbed project |
| January 2014 | ST announced the STM32 F0x2-series chips |
| February 2014 | ST announced the STM32 L0-series chips based on the ARM Cortex-M0+ core |
| February 2014 | ST announced multiple STM32 Nucleo boards with Arduino headers and mbed IDE |
| February 2014 | ST announced the release of free STM32Cube software tool with graphical configurator and C code |
| September 2014 | ST announced the STM32 F7 series, the first chips based on the Cortex-M7F core |
| October 2016 | STM32H7 series announced, based on ARM Cortex-M7F core, produced using 40 nm technology, runs at 400 MHz |
| November 2017 | STM32L4+ series announced, an upgrade to STM32L4 series Cortex-M4 MCUs |
| October 2018 | STM32L5 series announced, ultra-low-power MCUs based on ARM Cortex-M33 core with various security features |
| February 2021 | STM32U5 series announced, ultra-low-power MCUs based on ARM Cortex-M33 core with low power and hardware & software-based security measures targeting PSA Certified and SESIP assurance level 3 with physical attacker resistance |
| January 2023 | STM32C0 series announced, based on ARM Cortex-M0+ core, targeting equipment like home appliances, industrial pumps, fans, smoke detectors, typically served by simpler 8-bit and 16-bit MCUs. |
| March 2023 | STM32H5 series announced, based on ARM Cortex-M33 core, designed for smart, connected devices, which provide more intelligence “in the edge” and also strengthens defenses against attacks on IoT assets. |
| March 2024 | STM32U0 series announced, based on ARM Cortex-M0+ core, targeting ultra-low power entry-level battery-powered applications in industrial, medical, smart metering, and consumer wellness markets. |
Series
The STM32 family consists of many series of microcontrollers. Each STM32 microcontroller series is based upon a specific ARM Cortex-M processor core.STM32 C0
The STM32 C0-series is an entry-level low-cost STM32-series of microcontrollers:- ARM Cortex-M0+ core at a maximum clock rate of 48 MHz.
STM32 F0
- Core:
- * ARM Cortex-M0 core at a maximum clock rate of 48 MHz.
- * Cortex-M0 options include the SysTick Timer.
- Memory:
- * Static RAM consists of 4 / 6 / 8 / 16 / 32 KB general purpose with hardware parity checking.
- * Flash consists of 16 / 32 / 64 / 128 / 256 KB general purpose.
- * Each chip has a factory-programmed 96-bit unique device identifier number.
- Peripherals:
- * Each F0-series includes various peripherals that vary from line to line.
- Oscillators consists of internal, optional external.
- IC packages: TSSOP20, UFQFPN32, LQFP/UFQFN48, LQFP64, LQFP/UFBGA100.
- Operating voltage range is 2.0 to 3.6 volt with the possibility to go down to 1.65 V.
STM32 F1
- Core:
- * ARM Cortex-M3 core at a maximum clock rate of 24 / 36 / 48 / 72 MHz.
- Memory:
- * Static RAM consists of 4 / 6 / 8 / 10 / 16 / 20 / 24 / 32 / 48 / 64 / 80 / 96 KB.
- * Flash consists of 16 / 32 / 64 / 128 / 256 / 384 / 512 / 768 / 1024 KB.
- Peripherals:
- * Each F1-series includes various peripherals that vary from line to line.
- IC packages: VFQFPN36, VFQFPN48, LQFP48, WLCSP64, TFBGA64, LQFP64, LQFP100, LFBGA100, LQFP144, LFBGA144.
STM32 F2
- Core:
- * ARM Cortex-M3 core at a maximum clock rate of 120 MHz.
- Memory:
- * Static RAM consists of 64 / 96 / 128 KB general purpose, 4 KB battery-backed, 80 bytes battery-backed with tamper-detection erase.
- * Flash consists of 128 / 256 / 512 / 768 / 1024 KB general purpose, 30 KB system boot, 512 bytes one-time programmable, 16 option bytes.
- * Each chip has a factory-programmed 96-bit unique device identifier number.
- Peripherals:
- * Common peripherals included in all IC packages are USB 2.0 OTG HS, two CAN 2.0B, one SPI + two SPI or I²S, three I²C, four USART, two UART, SDIO/MMC, twelve 16-bit timers, two 32-bit timers, two watchdog timers, temperature sensor, 16 or 24 channels into three ADCs, two DACs, 51 to 140 GPIOs, sixteen DMA, real-time clock, cyclic redundancy check engine, random number generator engine. Larger IC packages add 8/16-bit external memory bus capabilities.
- * The STM32F2x7 models add Ethernet MAC, camera interface, USB 2.0 OTG FS.
- * The STM32F21x models add a cryptographic processor for DES / TDES / AES, and a hash processor for SHA-1 and MD5.
- Oscillators consists of internal, optional external.
- IC packages: WLCSP64, LQFP64, LQFP100, LQFP144, LQFP176, UFBGA176.
- Operating voltage range is 1.8 to 3.6 volt.