STM32


STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M33F, Cortex-M7F, Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM, flash memory, debugging interface, and various peripherals.

Overview

The STM32 is a family of microcontroller ICs based on the 32-bit RISC ARM Cortex-M33F, Cortex-M7F, Cortex-M4F, Cortex-M3, Cortex-M0+, and Cortex-M0 cores. STMicroelectronics licenses the ARM Processor IP from ARM Holdings. The ARM core designs have numerous configurable options, and ST chooses the individual configuration to use for each design. ST attaches their own peripherals to the core before converting the design into a silicon die. The following tables summarize the STM32 microcontroller families.

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.
The STM32 family consists of 14 series of microcontrollers: H7, F7, F4, F3, F2, F1, F0, G4, G0, L5, L4, L4+ L1, L0. Each STM32 microcontroller series is based upon either a Cortex-M7F, Cortex-M4F, Cortex-M33, Cortex-M3, Cortex-M0+, or Cortex-M0 ARM processor core. The Cortex-M4F is conceptually a Cortex-M3 plus DSP and single-precision floating-point instructions.

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 480 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
able to run up to 480 MHz, allowing a performance boost versus previous series of Cortex-M microcontrollers, reaching new performance records of 1027 DMIPS and 2400 CoreMark.

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:
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:
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:
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.
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 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:
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:
The STM32 F0-series are the first group of ARM Cortex-M0 chips in the STM32 family. The summary for this series is:
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.
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
The STM32 L5-series is an evolution of STM32L-series of ultra-low power microcontrollers:
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:
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:
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:
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:

Arduino boards

The following are Arduino header-compatible boards with STM32 microcontrollers. The Nucleo boards also have Arduino headers.
All boards by STMicroelectronics support the mbed IDE development, and has an additional onboard ST-LINK/V2-1 host adapter chip that supplies SWD debugging, virtual COM port, mass storage. There are three Nucleo board families, each supporting a different microcontroller IC package footprint. The debugger embedded on Nucleo boards can be converted to SEGGER J-Link debugger protocol.
; Nucleo-32 boards
; Nucleo-64 boards
; Nucleo-144 boards
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
;STM32F429IDISCOVERY
;STM32F4DISCOVERY
;STM32F401CDISCOVERY
;STM32F3DISCOVERY
;STM32VLDISCOVERY
;STM32L-DISCOVERY
;STM32L152CDISCOVERY
;STM32L100CDISCOVERY
;STM32F072BDISCOVERY
;STM32F0DISCOVERY
;STM32F0308DISCOVERY
The following evaluation kits are sold by STMicroelectronics.
;STM32W-RFCKIT:
;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 .

Partner boards

The following evaluation kits are sold by partners of STMicroelectronics and listed on the ST website.
;STM32-PerformanceStick:
;EvoPrimers for STM32:

Cortex-M

STM32

;Design utilities
;Debug utilities
;Flash programming via USB
;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 Java software libraries
;STM32 C/C++ software libraries
The amount of documentation for all ARM chips is daunting, especially for newcomers. The documentation for microcontrollers from past decades would easily be inclusive in a single document, but as chips have evolved so has the documentation grown. The total documentation is especially hard to grasp for all ARM chips since it 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

STM32F051R8
STM32xxwwyz
CodeCoreMax freq Max FLASH Max SRAM Target
F0CortexM04825632Mainstream
F1CortexM372102496Mainstream
F2CortexM31201024128High performance
F3CortexM47251280Mainstream
F4CortexM41802048384High performance
G0CortexM0+6412836Mainstream
G4CortexM4170512128Mainstream
F7CortexM72162048512High performance
H7CortexM748020481024High performance
L0CortexM0+3219220Ultra low power
L1CortexM33251280Ultra low power
L4CortexM4801024320Ultra low power
L4+CortexM41202048640Ultra low power
L5CortexM33110512256Ultra low power

CodeNumber of pins
A169
B208
C48
F20
G28
H40
I176
J8/72
K32
M81
N216
Q132
R64
T36
U63
V100
Z144

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