STM32 Mainstream Series
The STM32 Mainstream series is considered a versatile family of MCUs. It is a reasonable balance between power consumption, cost and application flexibility. It is worth mentioning that the Mainstream series is considered a long-shelf-life one, with support and availability of chips exceeding 10 years.
Mainstream series CPUs are based on ARM Cortex M0/M0+, M3 and M4 and RAM flash memory sizes are in a wide range, from 16kB for simple applications up to 1MB to handle even the most demanding tasks. However, there are no radio modules built in, so IoT applications require an external RF coprocessor/radio device.
A short review of the MCUs and their features is presented in table 1. Note each row in the table represents a family of devices, and a particular configuration depends on the exact MCU model. Thus, developers, when looking for specific features, should refer to the manufacturer's specifications and list of currently available devices .
Table 1: STM32 Mainstream series
Series: | CPU (Core/Cores) | RAM
(*-not all chips/versions) | Flash / EEPROM | Interfaces
(*-not all chips/versions) | Voltage
(*-not all chips/versions) | Other features
(*-not all chips/versions) |
STM32C0 | Cortex M0+@48MHz | 6kB or 12kB | 16kB or 32kB | I2C
SPI
I2S
2xUSART
ADC | 2.0V to 3.6V | 5×16-bit Timers
IWDG (Independent Watchdog)
WWDG (Window Watchdog) |
STM32F0 | Cortex M0@48MHz | From 4kB up to 32kB
20B backup data* | From 16kB to 256kB | 2xI2C
2xSPI
I2S
up to 8 USART*
CAN*
USB*
12-bit DAC*
CEC (HDMI-CEC)*
12-bit ADC | 1.8V for low-voltage product line*
2.0V to 3.6V*
2.4V to 3.6V* | 2xWatchdog
Hardware CRC
Internal RC
PLL
RTC Calendar
16 and 32-bit Timers
Temperature Sensor
Multiple Channel DMA
Comparator*
Unique ID
Touch Sense* |
STM32G0 | Cortex M0+@64MHz | up to 144 (SRAM) | 16kB to 512kB
Securable Memory Area* | USART
SPI
I2C
12-bit ADC (2.5 MSPS)
12-bit DAC 2 channel*
Low-Power UART*
USB-C Power Delivery*
USB DEV/HOST 2.0 FS
CAN-FD* | 1.7V to 3.6V*
2.0V to 3.6V* | 2xWatchdog
RTC
PLL
Main Oscillator and 32kHz Oscillator
Temperature Sensor
AES-256*
Random Number Generator*
DMA
Comparator*
32-bit Timer*
16-bit MC Timer
16-bit Timer
Low-Power Timer* |
STM32F1 | Cortex M3@(24/36/48/72)MHz | 4kB to 96kB | 16kB to 1MB | USART
SPI
I2C
3×12-bit ADC
2×12-bit DAC
USB 2.0 FS*
FSMC*
CAN 2.0B*
I2S*
SDIO*
Ethernet IEEE1588*
CEC (HDMI-CEC)* | 2.0V to 3.6V, GPIOs are 5V tolerant | 16 and 32-bit Timers
Temperature Sensor
3-phase MC Timer* |
STM32F3 | Cortex M4@72MHz (DSP+FPU) | 16kB to 80kB
CCM-SRAM* | 16kB to 512kB | USART
SPI
I2C
USB 2.0 FS*
CAN 2.0B*
I2S
Up to 4 12-bit ADC*
3×16-bit ADC* | 1.8V for low-voltage product line
2.0V to 3.6V | Routine Booster (CCM)
DMA
16 and 32-bit Timers
Hardware CRC
Low and High-Speed Oscillators
RTC
Temperature Sensor
Capacitive Touch Sensing
2xUltrafast Comparators*
Up to 7 Fast Comparators*
Up to 4 Op-amp (PGA)*
High-Resolution Timer*
Advanced 16-bit PWM Timer |
STM32G4 | Cortex M4@170MHz (DSP+FPU) | Up to 112kB*
128kB*
CCM-SRAM up to 16kB*
CCM-SRAM 32kB* | 32kB to 512kB
Flash Memory with ECC | USART
SPI
I2C
SAI
3/5 12-bit ADC*
4/7 12-bit DAC
FSMC*
Quad-SPI
CAN-FD
USB-C Power Delivery
USB 2.0 DEV/FS* | 1.71V to 3.6V | Math Acceleration (FMAC, Cordic)
4/6 Op-amps (PGA)*
Up to 3 Ultrafast Comparators*
ART Accelerator
Advanced Motor Control Timers
Multiple DMA with DMAMUX
PLL,
Temperature Sensor
Vbat Battery Voltage Mode
High Resolution Timer* |