====== STM32 Mainstream Series ====== {{:en:iot-open:czapka_b.png?50| General audience classification icon }}{{:en:iot-open:czapka_e.png?50| General audience classification icon }}\\ 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 {{ref>stm32hwms}}. 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 ((https://www.st.com/en/microcontrollers-microprocessors/stm32-mainstream-mcus/products.html)). ^ 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 | 5x16-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\\ 3x12-bit ADC\\ 2x12-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*\\ 3x16-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* |
STM32 Mainstream series