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.
SeriesARM CPU CoreTarget
C0Cortex-M0+Low Cost
F0Cortex-M0Mainstream
F1Cortex-M3Mainstream
F2Cortex-M3High Performance
F3Cortex-M4FMixed-Signal Processing
F4Cortex-M4FHigh Performance
F7Cortex-M7FHigh Performance
G0Cortex-M0+Mainstream, Low Cost
G4Cortex-M4FMixed-Signal Processing
H5Cortex-M33FHigh Performance, Security
H7Cortex-M7F, or
Cortex-M7F and Cortex-M4F
High Performance
L0Cortex-M0+Low Power
L1Cortex-M3Low Power
L4Cortex-M4FLow Power
L4+Cortex-M4FLow Power
L5Cortex-M33FLow Power, Security
N6Cortex-M55F and NPUHigh Performance
U0Cortex-M0+Low Power
U3Cortex-M33FLow Power, Security
U5Cortex-M33FLow Power, Security
V8Cortex-M85FHigh Performance, Security
WB0Cortex-M0+Wireless
WBCortex-M4F and Cortex-M0+Wireless
WBACortex-M33FWireless, Security
WLCortex-M4 and/or Cortex-M0+Wireless

SeriesARM CPU CoreTarget
MP1Single or Dual Cortex-A7 and optionally Cortex-M4Embedded Linux, Industrial, IoT
MP2Dual Cortex-A35 Cores + Cortex-M33High 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.
DateAnnouncement
October 2006STMicroelectronics licensed the ARM Cortex-M3 core
June 2007ST announced the STM32 F1-series based on the ARM Cortex-M3
October 2009ST announced new ARM chips would be built using the 90 nm process
April 2010ST announced the STM32 L1-series chips
November 2010ST announced the STM32 F2-series chips based on the ARM Cortex-M3 core, and future development
March 2011ST announced the expansion of their STM32 L1-series chips with flash densities of 256 KB and 384 KB
September 2011ST announced the STM32 F4-series chips based on the ARM Cortex-M4F core
February 2012ST announced the STM32 F0-series chips based on the ARM Cortex-M0 core
June 2012ST announced the STM32 F3-series chips based on the ARM Cortex-M4F core
January 2013ST announced full Java support for STM32 [|F2] and F4-series chips
February 2013ST announced STM32 Embedded Coder support for MATLAB and Simulink
February 2013ST announced the STM32 F4x9-series chips
April 2013ST announced the STM32 F401-series chips
July 2013ST announced the STM32 F030-series chips and availability in a TSSOP20 package
December 2013ST announced that it is joining the mbed project
January 2014ST announced the STM32 F0x2-series chips
February 2014ST announced the STM32 L0-series chips based on the ARM Cortex-M0+ core
February 2014ST announced multiple STM32 Nucleo boards with Arduino headers and mbed IDE
February 2014ST announced the release of free STM32Cube software tool with graphical configurator and C code
September 2014ST announced the STM32 [|F7] series, the first chips based on the Cortex-M7F core
October 2016STM32H7 series announced, based on ARM Cortex-M7F core, produced using 40 nm technology, runs at 400 MHz
November 2017STM32L4+ series announced, an upgrade to STM32L4 series Cortex-M4 MCUs
October 2018STM32L5 series announced, ultra-low-power MCUs based on ARM Cortex-M33 core with various security features
February 2021STM32U5 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 2023STM32C0 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 2023STM32H5 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 2024STM32U0 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:

STM32 [|F0]

The STM32 F0-series are the first group of ARM Cortex-M0 chips in the STM32 family. The summary for this series is:
  • 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]

The STM32 F1-series was the first group of STM32 microcontrollers based on the ARM Cortex-M3 core and considered their mainstream ARM microcontrollers. The F1-series has evolved over time by increasing CPU speed, size of internal memory, variety of peripherals. There are five F1 lines: Connectivity, Performance, USB Access, Access, Value. The summary for this series is:
  • 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

The STM32 F2-series of STM32 microcontrollers based on the ARM Cortex-M3 core. It is the most recent and fastest Cortex-M3 series. The F2 is pin-to-pin compatible with the STM32 F4-series. The summary for this series is:

STM32 [|F3]

The STM32 F3-series is the second group of STM32 microcontrollers based on the ARM Cortex-M4F core. The F3 is almost pin-to-pin compatible with the STM32 F1-series. The summary for this series is:
  • Core:
  • * ARM Cortex-M4F core at a maximum clock rate of 72 MHz.
  • Memory:
  • * Static RAM consists of 16 / 24 / 32 / 40 KB general purpose with hardware parity check, 0 / 8 KB core coupled memory with hardware parity check, 64 / 128 bytes battery-backed with tamper-detection erase.
  • * Flash consists of 64 / 128 / 256 KB general purpose, 8 KB system boot, and option bytes.
  • * Each chip has a factory-programmed 96-bit unique device identifier number.
  • Peripherals:
  • * Each F3-series includes various peripherals that vary from line to line.
  • Oscillators consists of internal, optional external.
  • IC packages: LQFP48, LQFP64, LQFP100, UFBGA100.
  • Operating voltage range is 2.0 to 3.6 volt.
The distinguishing feature for this series is presence of four fast, 12-bit, simultaneous sampling ADCs, and four matched, 8 MHz bandwidth op-amps with all pins exposed and additionally internal PGA network. The exposed pads allow for a range of analog signal conditioning circuits like band-pass filters, anti-alias filters, charge amplifiers, integrators/differentiators, 'instrumentation' high-gain differential inputs, and other. This eliminates need for external op-amps for many applications. The built-in two-channel DAC has arbitrary waveform as well as a hardware-generated waveform capability. All analog devices can be completely independent, or partially internally connected, meaning that one can have nearly everything that is needed for an advanced measurement and sensor interfacing system in a single chip.
The four ADCs can be simultaneously sampled making a wide range of precision analog control equipment possible. It is also possible to use a hardware scheduler for the multiplexer array, allowing good timing accuracy when sampling more than 4 channels, independent of the main processor thread. The sampling and multiplexing trigger can be controlled from a variety of sources including timers and built-in comparators, allowing for irregular sampling intervals where needed.
STM32F37/38xxx integrate a 14-effective number of bits delta-sigma ADC.
The op-amps inputs feature 2-to-1 analog multiplexer, allowing for a total of eight analog channels to be pre-processed using the op-amp; all the op-amp outputs can be internally connected to ADCs.

STM32 [|F4]

The STM32 F4-series is the first group of STM32 microcontrollers based on the ARM Cortex-M4F core. The F4-series is also the first STM32 series to have DSP and floating-point instructions. The F4 is pin-to-pin compatible with the STM32 F2-series and adds higher clock speed, 64 KB CCM static RAM, full-duplex I²S, improved real-time clock, and faster ADCs. The summary for this series is:

STM32 F7

The STM32 F7-series is a group of STM32 microcontrollers based on the ARM Cortex-M7F core. Many of the F7 series are pin-to-pin compatible with the STM32 F4-series.
Core:
  • ARM Cortex-M7F core at a maximum clock rate of 216 MHz.
Many of STM32F76xxx and STM32F77xxx models have a digital filter for sigma-delta modulators interface.

STM32 [|G0]

The STM32 G0-series is a next generation of Cortex-M0/M0+ microcontrollers for budget market segment, offering the golden mean in productivity and power efficiency, e.g. better power efficiency and performance compared to the older F0 series and higher performance compared to ultra low power [|L0] series
  • Core:
  • * ARM Cortex-M0+ core at a maximum clock rate of 64 MHz.
  • * Debug interface is SWD with breakpoints and watchpoints. JTAG debugging isn't supported.
  • Memory:
  • * Static RAM sizes of 8 to 128 KB general purpose with hardware parity checking and up to 144 KB without hardware parity checking, 5x 32-bit battery-backed registers with tamper-detection erase.
  • * Flash sizes of 16 to 512 KB.

STM32 [|G4]

The STM32 G4-series is a next generation of Cortex-M4F microcontrollers aiming to replace F3 series, offering the golden mean in productivity and power efficiency, e.g. better power efficiency and performance compared to the older F3/F4 series and higher performance compared to ultra low power [|L4] series, integrated several hardware accelerators.
  • Core:
  • * ARM Cortex-M4F core at a maximum clock rate of 170 MHz with FPU and DSP instructions
  • Mathematical accelerators:
  • * CORDIC
  • * FMAC
  • Memory:
  • * Flash memory with error-correcting code and sizes of 128 to 512 KB.
  • * Static RAM sizes of 32 to 128 KB with hardware parity checking and CCM-SRAM routine booster, 32x 32-bit battery-backed registers with tamper-detection erase.
  • Rich advanced analog peripherals
  • ADC with hardware oversampling up to 4 Msps
  • High-resolution timer version 2
  • USB Type-C interface with Power Delivery including physical layer
  • Securable memory area
  • AES hardware encryption

STM32 [|H7]

The STM32 H7-series is a group of high performance STM32 microcontrollers based on the ARM Cortex-M7F core with double-precision floating point unit and optional second Cortex-M4F core with single-precision floating point. Cortex-M7F core can reach working frequency up to 600 MHz, while Cortex-M4F - up to 240 MHz. Each of these cores can work independently or as master/slave core.
The STM32H7 Series is the first series of STM32 microcontrollers in 40 nm process technology and the first series of ARM Cortex-M7-based microcontrollers which is able to run up to 600 MHz, allowing a performance boost versus previous series of Cortex-M microcontrollers, reaching new performance records of 1284 DMIPS and 3174 CoreMark.

STM32 L0

The STM32 L0-series is the first group of STM32 microcontrollers based on the ARM Cortex-M0+ core. This series targets low power applications. The summary for this series is:
  • Core:
  • * ARM Cortex-M0+ core at a maximum clock rate of 32 MHz.
  • * Debug interface is SWD with breakpoints and watchpoints. JTAG debugging isn't supported.
  • Memory:
  • * Static RAM sizes of 8 KB general purpose with hardware parity checking, 20 bytes battery-backed with tamper-detection erase.
  • * Flash sizes of 32 or 64 KB general purpose.
  • * EEPROM sizes of 2 KB.
  • * ROM which contains a boot loader with optional reprogramming of the flash from USART1, USART2, SPI1, SPI2.
  • * Each chip has a factory-programmed 96-bit unique device identifier number.
  • Peripherals:
  • * two USART, one low-power UART, two I²C, two SPI or one I²S, one full-speed USB.
  • * one 12-bit ADC with multiplexer, one 12-bit DAC, two analog comparators, temperature sensor.
  • * timers, low-power timers, watchdog timers, 5 V-tolerant GPIOs, real-time clock, DMA controller, CRC engine.
  • * capacitive touch sense and 32-bit random number generator, LCD controller, 128-bit AES engine.
  • Oscillators consists of optional external 1 to 24 MHz crystal or oscillator, optional external 32.768 kHz crystal or ceramic resonator, multiple internal oscillators, and one PLL.
  • IC packages are LQFP48, LQFP64, TFBGA64.
  • Operating voltage range is 1.8 to 3.6 volt, including a programmable brownout detector.

STM32 [|L1]

The STM32 L1-series was the first group of STM32 microcontrollers with a primary goal of ultra-low power usage for battery-powered applications. The summary for this series is:
  • Core:
  • * ARM Cortex-M3 core at a maximum clock rate of 32 MHz.
  • Memory:
  • * Static RAM consists of 10 / 16 / 32 / 48 / 80 KB general purpose, 80 bytes with tamper-detection erase.
  • * Flash consists of 32 / 64 / 128 / 256 / 384 / 512 KB general purpose with ECC, 4 / 8 KB system boot, 32 option bytes, EEPROM consists of 4 / 8 / 12 / 16 KB data storage with ECC.
  • * Each chip has a factory-programmed 96-bit unique device identifier number.
  • Peripherals:
  • * Common peripherals included in all IC packages are USB 2.0 FS, two SPI, two I²C, three USART, eight 16-bit timers, two watchdog timers, temperature sensor, 16 to 24 channels into one ADC, two DACs, 37 to 83 GPIOs, seven DMA, real-time clock, cyclic redundancy check engine. The STM32FL152 line adds a LCD controller.
  • Oscillators consists of internal, optional external.
  • IC packages: UFQFPN48, LQFP48, LQFP64, TFBGA64, LQFP100, UFBGA100.
  • Operating voltage range is 1.65 to 3.6 volt.

STM32 L4

The STM32 L4-series is an evolution of STM32L1-series of ultra-low power microcontrollers. An example of L4 MCU is STM32L432KC in UFQFPN32 package, that has:
  • ARM 32-bit Cortex-M4 core
  • 80 MHz max CPU frequency
  • VDD from 1.65 V to 3.6 V
  • 256 KB Flash, 64 KB SRAM
  • General purpose timers, SPI/I2S, I2C, USART, 12-bit ADC with 10 channels, GPIO with external interrupt capability, RTC
  • Random number generator.
  • Digital filter for sigma-delta modulators interface

STM32 [|L4+]

The STM32 L4+-series is expansion of STM32L4-series of ultra-low power microcontrollers, providing more performance, more embedded memory and richer graphics and connectivity features while keeping ultra-low-power capability.
Main features:
  • ARM 32-bit Cortex-M4 core
  • 120 MHz max CPU frequency
  • VDD from 1.71 V to 3.6 V
  • Ultra low power consumption: down to 41 μA/MHz, 20 nA power consumption in power-down mode.
  • Up to 2048 KB Flash, up to 640 KB SRAM
  • Advanced peripherals, including TFT-LCD controller, Chrom-ART Accelerator, Camera interface etc.
  • Digital filter for sigma-delta modulators interface

STM32 [|L5]

The STM32 L5-series is an evolution of STM32L-series of ultra-low power microcontrollers:

STM32 [|U0]

The STM32 U0-series is an entry-level addition to the STM32-series of ultra-low power microcontrollers:
  • ARM Cortex-M0+ core at a maximum clock rate of 56 MHz.
  • Static consumption of 160 nA in standby mode with RTC and 16 nA in shutdown.
  • Up to 256KB of Flash, package options up to 81 pins.
  • Integrated LCD segment display controller.
  • Targets SESIP Level 3, PSA-Certified Level 1, and NIST certifications.

STM32 [|U3]

The STM32 U3-series is a near-threshold design of ultra-low power microcontrollers that shares similarities with the U5:
  • ARM Cortex-M33 32-bit core with 96 MHz max CPU frequency
  • 40-nm process node with down to 16 μA/MHz in active mode, 110 nA in low power mode
  • Up to 1 MB of flash memory.
  • Up to 256 KB of SRAM.
  • TrustZone

STM32 [|U5]

The STM32 U5-series is an evolution of STM32L-series of ultra-low power microcontrollers:
  • ARM Cortex-M33 32-bit core with 160 MHz max CPU frequency
  • 40-nm process node with down to 16 μA/MHz in active mode, 110 nA in low power mode
  • Up to 4 MB of flash memory.
  • Up to 3 MB of SRAM.
  • Advanced Vector Graphic GPU.

Development boards

Arduino Nano style

The following boards have Arduino Nano pin-compatible male pin headers with 0.6-inch row-to-row DIP-30 footprint, but these boards have 3.3 volt logic I/O, instead of 5 volt logic I/O for an Arduino Nano "R3" and Nano R4.
  • Blue Pill board has a STM32F103C8T6 microcontroller. Unfortunately, most blue pill boards now contain a fake STM32 from China.
  • Black Pill board has a STM32F401CCU6 or STM32F411CEU6 microcontroller.
  • ST Nucleo-32 boards have Arduino Nano pin-compatible male pin headers too.

Arduino Uno style

[Image:Leaflabs Maple OSHW with STM32F103RBT6 MCU.jpg|thumb|right|Leaflabs Maple board (obsolete)]
The following boards have Arduino Uno R3 pin-compatible female pin headers for Arduino shields, but these boards have 3.3 volt logic I/O, instead of 5 volt logic I/O for an Arduino Uno.
  • board by Leaflabs has a STM32F103RB microcontroller. A C/C++ library called is available to make it easier to migrate from Arduino.
  • board by Olimex has a STM32F103RBT6 microcontroller and similar to the Maple board.
  • Netduino with support for .NET Micro Framework.
  • ST Nucleo-64 and Nucleo-144 boards have female pin headers for Arduino shields too.

ST Nucleo

There are three Nucleo board types, each supporting a different STM32 IC package footprint. As of fall 2025, there were over seventy Nucleo board variations: 9 of Nucleo-32, 37 of Nucleo-64, 25 of Nucleo-144; 1 obsolete Nucleo-32, 5 obsolete Nucleo-144.
All boards by STMicroelectronics have an additional onboard ST-LINK host adapter chip which supplies SWD debugging, virtual COM port, and mass storage over USB. The debugger embedded on Nucleo boards can be converted to the SEGGER J-Link debugger protocol. Though some STM32 microcontrollers have a real-time clock peripheral and/or battery-back SRAM, none of the Nucleo boards have a battery holder.
;Nucleo-32
Nucleo-32 boards have 32-pin STM32 ICs and Arduino Nano pin-compatible male pin headers with 0.6-inch row-to-row DIP-30 footprint. The unlisted Nucleo-F301K8 is obsolete.
;Nucleo-64
Nucleo-64 boards have 64-pin STM32 ICs, Arduino Uno R3 female headers for shields, ST Morpho male pin headers, some board have a second USB connector, one board has a CAN-FD bus connector.
;Nucleo-144
Nucleo-144 boards have 144-pin STM32 ICs, Arduino Uno R3 female headers for shields, ST Zio female headers, ST Morpho male pin headers, some have a second USB connector, some have a RJ45 Ethernet connector. The unlisted Nucleo-F429ZI, Nucleo-F746ZG, Nucleo-H743ZI, Nucleo-H743ZI2, Nucleo-H745ZI-Q are obsolete.
;Table
The following table compares various features of official Nucleo boards from STMicroelectronics. The left half of the table contains details about each board, the right half of the table contains details about the microcontroller on each board. Table columns can be sorted by clicking on the arrows in the top row.
Various terms have been shortened or simplified to reduce the column widths: mini means miniUSB, micro means microUSB, conn means connector, dev means device. The suffixes MHz and KB have been moved to the top row. The Nucleo board types have been reduced to numeric values. See "Table notes" for additional explainations.
Nucleo
Board
Name
Nucleo
Board
Type
Nucleo
Host USB
Conn
Nucleo
Dev USB
Conn
Nucleo
Other
Conn
Nucleo
Debug
Conn
MCU
Part
Number
MCU
Clock
MCU
ARM
Cortex
MCU
Cache
MCU
Flash
MCU
EEPROM,
OTP
MCU
SRAM
32micro-AB FSSTM32F031K6T648M0324
32micro-AB FSSTM32F042K6T648M0326
32micro-AB FSSTM32F303K8T672M4F6416
32micro-B FSSTM32G031K8T664M0+648
32micro-B HSSTM32G431KBT6170M4F12832
32micro-AB FSSTM32L011K4T632M0+160.5 EEPROM2
32micro-AB FSSTM32L031K6T632M0+321 EEPROM8
32micro-AB FSSTM32L412KBU680M4F12840
32micro-AB FSSTM32L432KCU680M4F25664
64micro-B FS6x1 2.54mmSTM32C031C6T648M0+3212
64micro-B FS6x1 2.54mmSTM32C051C8T648M0+6412
64USB-C FSUSB-C FS5x2 1.27mmSTM32C071RBT648M0+12824
64USB-C FSCAN-FD5x2 1.27mmSTM32C092RCT648M0+25630
64mini-B FS6x1 2.54mmSTM32F030R8T648M0648
64mini-B FS6x1 2.54mmSTM32F070RBT648M012816
64mini-B FS6x1 2.54mmSTM32F072RBT648M012816
64mini-B FS6x1 2.54mmSTM32F091RCT648M025632
64mini-B FS6x1 2.54mmSTM32F103RBT672M312820
64mini-B FS6x1 2.54mmSTM32F302R8T672M4F6416
64mini-B FS6x1 2.54mmSTM32F303RET672M4F51280
64mini-B FS6x1 2.54mmSTM32F334R8T672M4F6416
64mini-B FS6x1 2.54mmSTM32F401RET684M4F5120.5 OTP96
64mini-B FS6x1 2.54mmSTM32F410RBT6100M4F1280.5 OTP32
64mini-B FS6x1 2.54mmSTM32F411RET6100M4F5120.5 OTP128
64mini-B FS6x1 2.54mmSTM32F446RET6180M4F512132
64micro-B FS6x1 2.54mmSTM32G070RBT664M0+12832
64micro-B FS6x1 2.54mmSTM32G071RBT664M0+12832
64micro-B FS6x1 2.54mmSTM32G0B1RET664M0+512128
64micro-B HS5x2 1.27mmSTM32G431RBT6170M4F12832
64micro-B HS5x2 1.27mmSTM32G474RET6170M4F512132
64micro-B HS5x2 1.27mmSTM32G491RET6170M4F512112
64USB-C HSUSB-C FS5x2 1.27mmSTM32H503RBT6250M33F8I1282 OTP34
64USB-C HSUSB-C FS5x2 1.27mmSTM32H533RET6250M33F8I, 4Dx5122 OTP274
64mini-B FS6x1 2.54mmSTM32L010RBT632M0+1280.5 EEPROM20
64mini-B FS6x1 2.54mmSTM32L053R8T632M0+642 EEPROM8
64mini-B FS6x1 2.54mmSTM32L073RZT632M0+1926 EEPROM20
64mini-B FS6x1 2.54mmSTM32L152RET632M351216 EEPROM80
64micro-B FS6x1 2.54mmSTM32L412RBT6P80M4F12840
64micro-B FS6x1 2.54mmSTM32L433RCT6P80M4F25664
64mini-B FS6x1 2.54mmSTM32L452RET680M4F512160
64micro-B FS6x1 2.54mmSTM32L452RET6P80M4F512160
64mini-B FS6x1 2.54mmSTM32L476RGT680M4F1024128
64micro-B FS5x2 1.27mmSTM32U031R8T656M0+6412
64micro-B FS5x2 1.27mmSTM32U083RCT656M0+25640
64USB-C HSUSB-C FS5x2 1.27mmSTM32U385RGT6Q96M33F8I1024256
64USB-C HSUSB-C FS5x2 1.27mmSTM32U545RET6Q160M33F8I, 4Dx512274
144micro-B FSmicro-AB FSEthernet
RJ45 100M
6x1 2.54mmSTM32F207ZGT6120M31024132
144micro-B FSmicro-AB FS6x1 2.54mmSTM32F303ZET672M4F51280
144micro-B FSmicro-AB FS6x1 2.54mmSTM32F412ZGT6100M4F1024 OTP256
144micro-B FSmicro-AB FS6x1 2.54mmSTM32F413ZHT6100M4F15360.5 OTP320
144micro-B FSmicro-AB FSEthernet
RJ45 100M
6x1 2.54mmSTM32F439ZIT6180M4F2048256
144micro-B FSmicro-AB FS6x1 2.54mmSTM32F446ZET6180M4F512132
144micro-B FSmicro-AB FS6x1 2.54mmSTM32F722ZET6216M7F8I, 8D5120.5 OTP276
144micro-B FSmicro-AB FSEthernet
RJ45 100M
6x1 2.54mmSTM32F756ZGT6216M7F4I, 4D10241 OTP340
144micro-B FSmicro-AB FSEthernet
RJ45 100M
6x1 2.54mmSTM32F767ZIT6216M7FDP16I, 16D2048532
144USB-C HSUSB-C FSEthernet
RJ45 100M
10x2 1.27mmSTM32H563ZIT6250M33F8I, 4Dx20482 OTP644
144micro-B HSmicro-AB FSEthernet
RJ45 100M
5x2 1.27mmSTM32H723ZGT6550M7FDP32I, 32D1024564
144micro-B HSmicro-AB FSEthernet
RJ45 100M
5x2 1.27mmSTM32H753ZIT6480M7FDP16I, 16D20481060
144micro-B HSmicro-AB FSEthernet
RJ45 100M
5x2 1.27mmSTM32H755ZIT6480,
240
M7FDP
& M4F
16I, 16D20481060
144micro-B HSmicro-AB FS5x2 1.27mmSTM32H7A3ZIT6Q280M7FDP16I, 16D20481 OTP1480
144USB-C HSUSB-C HSEthernet
RJ45 100M
10x2 1.27mmSTM32H7S3L8H6600M7FDP32I, 32D641 OTP548
144micro-B FSmicro-AB FS6x1 2.54mmSTM32L496ZGT680M4F10241 OTP320
144micro-B FSmicro-AB FS6x1 2.54mmSTM32L496ZGT6P80M4F10241 OTP320
144micro-B FSmicro-AB FS6x1 2.54mmSTM32L4A6ZGT680M4F10241 OTP320
144micro-B FSmicro-AB FS6x1 2.54mmSTM32L4P5ZGT6120M4F10241 OTP320
144micro-B FSmicro-AB FS6x1 2.54mmSTM32L4R5ZIT6120M4F20481 OTP640
144micro-B FSmicro-AB FS6x1 2.54mmSTM32L4R5ZIT6P120M4F20481 OTP640
144micro-B FSUSB-C FS6x1 2.54mmSTM32L552ZET6Q110M33F8I5120.5 OTP256
144USB-C HSUSB-C HSEthernet
RJ45 1G,
Camera
CSI 22-pin
10x2 1.27mmSTM32N657X0H3Q800,
1000
M55FDP
& NPU
32I, 32D01.5 OTP4424
144micro-B HSUSB-C FS5x2 1.27mmSTM32U575ZIT6Q160M33F8I, 4Dx20480.5 OTP722
144micro-B HSUSB-C HS5x2 1.27mmSTM32U5A5ZJT6Q160M33F32I, 16Dx40960.5 OTP2450

;Table notesNucleo Board Name column - STMicroelectronics Nucleo board name and part number.Nucleo Board Type column - Nucleo board type. 32 means Nucleo-32, 64 means Nucleo-64, 144 means Nucleo-144.Nucleo Host USB Conn column - USB host connector type on each Nucleo board. "FS" means Full Speed, "HS" means High Speed.Nucleo Dev USB Conn column - USB device connector type on each Nucleo board. Mini means miniUSB, Micro means microUSB.Nucleo Other Conn column - Other connectors on each Nucleo board, such as CAN-FD, Ethernet, Camera. Ethernet includes its connector and maximum bit rate speed.Nucleo Debug Conn column - Debug connector on each Nucleo board, including pin count and pitch column - Maximum clock rate of the processor core inside the microcontroller. MHz means 106 Hertz, also known as megahertz.MCU ARM Cortex column - ARM Cortex-M processor core family inside the microcontroller. The shortened "M0+" in the table means "ARM Cortex M0+". An appended "F" means the processor core contains a FPU with single-precision, appended "DP" means the FPU also supports double precision.MCU Cache column - Processor cache memory size and type inside the microcontroller. "I" means instruction cache, "D" means data cache, "Dx" means data cache for external memory.MCU Flash column - Total Flash memory size inside the microcontroller.MCU EEPROM, OTP column - Total EEPROM or One-Time Programmable memory size inside the microcontroller.MCU SRAM '' column - Total Static RAM memory size inside the microcontroller. Total size doesn't include cache memory or peripheral buffer memory.

ST Discovery

The following Discovery evaluation boards are sold by STMicroelectronics to provide a quick and easy way for engineers to evaluate their microcontroller chips. These kits are available from various distributors for less than US$20. The STMicroelectronics evaluation product licence agreement forbids their use in any production system or any product that is offered for sale.
Each board includes an on-board ST-LINK for programming and debugging via a Mini-B USB connector. The power for each board is provided by a choice of the 5 V via the USB cable, or an external 5 V power supply. They can be used as output power supplies of 3 V or 5 V. All Discovery boards also include a voltage regulator, reset button, user button, multiple LEDs, SWD header on top of each board, and rows of header pins on the bottom.
An open-source project was created to allow Linux to communicate with the ST-LINK debugger.
ChibiOS/RT, a free RTOS, has been ported to run on some of the Discovery boards.
;STM32L476GDISCOVERY
  • A for microcontroller with 80 MHz ARM Cortex-M4F core, 1024 KB flash, 128 KB RAM in LQFP100 package
;STM32F429IDISCOVERY
;STM32F4DISCOVERY
;STM32F401CDISCOVERY
;STM32F3DISCOVERY
  • A for microcontroller with 72 MHz ARM Cortex-M4F core, 256 KB flash, 48 KB RAM in LQFP100 package.
  • This board includes an integrated debugger via Mini-B USB connector, accelerometer/compass, gyroscope, 8 user LEDs, user button, reset button, Full-Speed USB to second Mini-B USB connector, and two 25x2 male pin headers.
;STM32VLDISCOVERY
[Image:STM32 LV Discovery board.jpg|thumb|165px|right|STM32VLDISCOVERY board]
  • A for microcontroller with 24 MHz ARM Cortex-M3 core, 128 KB flash, 8 KB RAM in LQFP64 package.
  • This board includes an integrated debugger via Mini-B USB connector, 2 user LEDs, user button, reset button, and two 28x1 male pin headers.
;STM32L-DISCOVERY
  • A for microcontroller with 32 MHz ARM Cortex-M3 core, 128 KB flash, 16 KB RAM, 4 KB EEPROM in LQFP64 package.
  • This board includes an integrated debugger via Mini-B USB connector, 24-segment LCD, touch sensors, 2 user LEDs, user button, reset button, and two 28x1 male pin headers.
  • This board is currently End-Of-Life and replaced by the 32L152CDISCOVERY board.
;STM32L152CDISCOVERY
  • A for microcontroller with 32 MHz ARM Cortex-M3 core, 256 KB flash, 32 KB RAM, 8 KB EEPROM in LQFP64 package.
  • This board includes an integrated debugger via Mini-B USB connector, 24-segment LCD, touch sensors, 2 user LEDs, user button, reset button, and two 28x1 male pin headers.
;STM32L100CDISCOVERY
  • A for microcontroller with 32 MHz ARM Cortex-M3 core, 256 KB flash, 16 KB RAM, 4 KB EEPROM in LQFP64 package.
  • This board includes an integrated debugger via Mini-B USB connector, 2 user LEDs, user button, reset button, and two 33x1 male pin headers.
;STM32F072BDISCOVERY
  • A for microcontroller with 48 MHz ARM Cortex-M0 core, 128 KB flash, 16 KB RAM in LQFP64 package.
  • This board includes an integrated debugger via Mini-B USB connector, gyroscope, 4 user LEDs, user button, reset button, linear touch keys, Full-Speed USB to second Mini-B USB connector, and two 33x1 male pin headers.
;STM32F0DISCOVERY
  • A for microcontroller with 48 MHz ARM Cortex-M0 core, 64 KB flash, 8 KB RAM in LQFP64 package.
  • This board includes an integrated debugger via Mini-B USB connector, 2 user LEDs, user button, reset button, and two 33x1 male pin headers.
  • A prototyping perfboard with 0.1-inch grid of holes is included.
;STM32F0308DISCOVERY
  • A for microcontroller with 48 MHz ARM Cortex-M0 core, 64 KB flash, 8 KB RAM in LQFP64 package.
  • This board includes an integrated debugger via Mini-B USB connector, 2 user LEDs, user button, reset button, and two 33x1 male pin headers.
  • A prototyping perfboard with 0.1-inch grid of holes is included.

ST Evaluation

The following evaluation kits are sold by STMicroelectronics.
;STM32W-RFCKIT:
  • An RF for STM32 W-series.
  • It contains two boards, each with a STM32W108 SoC microcontroller in VFQFPN40 and VFQFPN48 packages.
  • The evaluation board has a built-in 2.4 GHz IEEE 802.15.4 transceiver and Lower MAC. The SoC contains 128-Kbyte flash and 8-Kbyte RAM memory. Flash memory is upgradable too via USB. It has an ARM Serial Wire Debug interface and is designed to be powered by USB or with 2 AAA batteries. There are two user-defined LEDs and five push buttons to create easy-to-use remote functions.
;STM3220G-JAVA:
A ready-to-use Java development kits for its STM32 microcontrollers. The STM3220G-JAVA Starter Kit combines an evaluation version of IS2T's MicroEJ Software Development Kit and the STM32F2 series microcontroller evaluation board providing everything engineers need to start their projects.
MicroEJ provides extended features to create, simulate, test and deploy Java applications in embedded systems. Support for Graphical User Interface development includes a widget library, design tools including storyboarding, and tools for customizing fonts. STM32 microcontrollers that embed Java have a Part Number that ends with J like .

Development tools

STM32

;Design utilities
  • Simulink, by MathWorks provides model-based design solutions to design embedded systems. The Embedded Coder Support Package for STMicroelectronics Discovery Boards and the Simulink Coder Support Package for STMicroelectronics Nucleo Boards provide parameter tuning, signal monitoring and one-click deployment of Simulink algorithms to STM32 boards with access to peripherals like ADC, PWM, GPIOs, I²C, SPI, SCI, TCP/IP, UDP, etc.
;Flash programming via USART
All STM32 microcontrollers have a ROM'ed bootloader that supports loading a binary image into its flash memory using one or more peripherals. Since all STM32 bootloaders support loading from the USART peripheral and most boards connect the USART to RS-232 or a USB-to-UART adapter IC, thus it's a universal method to program the STM32 microcontroller. This method requires the target to have a way to enable/disable booting from the ROM'ed bootloader.
;STM32 C/C++ software libraries

Documentation

The amount of documentation for all ARM chips can be daunting, especially for newcomers. As microprocessors have increased in capability and complexity, the documentation has grown. The total documentation for all ARM chips consists of documents from the IC manufacturer and documents from CPU core vendor.
A typical top-down documentation tree is: manufacturer website, manufacturer marketing slides, manufacturer datasheet for the exact physical chip, manufacturer detailed reference manual that describes common peripherals and aspects of a physical chip family, ARM core generic user guide, ARM core technical reference manual, ARM architecture reference manual that describes the instruction set.
;STM32 documentation tree :
  1. STM32 website.
  2. STM32 marketing slides.
  3. STM32 datasheet.
  4. STM32 reference manual.
  5. ARM core website.
  6. ARM core generic user guide.
  7. ARM core technical reference manual.
  8. ARM architecture reference manual.
STMicroelectronics has additional documents, such as: evaluation board user manuals, application notes, getting started guides, software library documents, errata, and more. See External Links section for links to official STM32 and ARM documents.

Part number decoding

Example:
Decoding:
Family
code
ARM
Core
Max
Freq
Max
Flash
Max
SRAM
Target
C0Cortex-M0+4825636Low cost
F0Cortex-M04825632Mainstream
F1Cortex-M372102496Mainstream
F2Cortex-M31201024128High performance
F3Cortex-M4F7251280Mainstream
F4Cortex-M4F1802048384High performance
F7Cortex-M7F2162048512High performance
G0Cortex-M0+64512144Mainstream
G4Cortex-M4F170512128Mainstream
H5Cortex-M33F2502048640High performance
H7Cortex-M7F48020481024High performance
L0Cortex-M0+3219220Ultra low power
L1Cortex-M33251280Ultra low power
L4Cortex-M4F801024320Ultra low power
L4+Cortex-M4F1202048640Ultra low power
L5Cortex-M33F110512256Ultra low power
N6Cortex-M55F80004200High performance
U0Cortex-M0+5625640Ultra low power
U3Cortex-M33F961024256Ultra low power
U5Cortex-M33F1602048786Ultra low power
WBCortex-M4F641024256Wireless
WLCortex-M44825664Wireless

Package
code
Number
of pins
A169
B208
C48
F20
G28
H40
I176
J8 or 72
K32
M81
N216
Q132
R64
T36
U63
V100
Z144

Flash
code
Flash
size
416
632
864
B128
Z192
C256
D384
E512
F768
G1024
H1536
I2048