Blog
Complete Guide to Choosing the Right STM32
There are more STM32 part numbers than most engineers could ever memorize. ST’s portfolio now includes more than 4,000 commercial part numbers across several generations of Arm Cortex-M cores, with maximum CPU clock speeds ranging from 32 MHz in the STM32L0 series to 800 MHz in the STM32N6 series.
That range is one reason the STM32 ecosystem is so popular: whether your priority is cost, power consumption, processing throughput, or wireless connectivity, there is usually a device that fits. The tradeoff is that choosing the right STM32 requires a systematic approach—not simply selecting the same MCU used in a tutorial.
This guide covers the practical factors that should drive STM32 selection: core architecture, memory, peripherals, power consumption, package and much more. It then maps those requirements to the available STM32 series, helping you reduce thousands of possible part numbers to a manageable shortlist.
Begin with the Core, Not the Part Number
Every STM32 microcontroller is built around an Arm Cortex-M core, which defines the instruction set and establishes the baseline for CPU performance, making the core a useful first filter when choosing a device.
| Core | Typical Use | Key Characteristics |
|---|---|---|
| Cortex-M0 / M0+ | Simple I/O, state machines, basic control, and cost-sensitive products | Small core footprint and low power consumption; no DSP extensions or hardware FPU |
| Cortex-M3 | General-purpose control and established STM32 designs | Higher performance than M0/M0+, but no DSP extensions or hardware FPU |
| Cortex-M4 / M4F | Motor control, digital filtering, sensor fusion, and audio processing | Includes DSP instructions; M4F devices add a single-precision FPU |
| Cortex-M7 | High-throughput control, graphics, audio, and high-rate data processing | Higher instruction throughput, cache support, and optional single- or double-precision FPU |
| Cortex-M33 | Connected and security-sensitive embedded systems | Supports TrustZone and may include DSP and floating-point capabilities |
| Cortex-M55 | Edge AI, computer vision, and compute-intensive signal processing | Adds Helium vector extensions for DSP and machine-learning workloads; used in the STM32N6 with a dedicated neural-processing accelerator |
As a rule of thumb:
- M0 or M0+: A good fit for applications that mainly use GPIO, timers, basic ADC sampling, and simple serial interfaces. These devices are often lower in cost and suitable for straightforward control tasks.
- M4 with an FPU: A better starting point for filtering, FFTs, PID loops, sensor fusion, and other math-intensive workloads.
- M7: Consider an M7 when the application has a real throughput bottleneck, such as advanced graphics, high-rate ADC streaming, or demanding real-time audio processing.
Map the Series to Your Application
ST organizes its STM32 MCU portfolio into series, each built around a particular core architecture and target application. The table below shows the major STM32 series available as of mid-2026:
| Series | Core | Series Max CPU Clock | Best Fit | Representative Parts |
|---|---|---|---|---|
| STM32C0 | Cortex-M0+ | 48 MHz | Lowest-cost 32-bit control, simple I/O, appliances, and basic industrial functions | STM32C011, STM32C031 |
| STM32F0 | Cortex-M0 | 48 MHz | Mature entry-level general-purpose designs | STM32F030, STM32F072 |
| STM32G0 | Cortex-M0+ | 64 MHz | Cost-optimized mainstream control with newer peripherals and package options | STM32G031, STM32G071 |
| STM32F1 | Cortex-M3 | 72 MHz | Established general-purpose designs, legacy platforms, and community-supported projects | STM32F103 |
| STM32F3 | Cortex-M4 with FPU | 72 MHz | Mixed-signal control, motor control, and analog-heavy applications | STM32F303, STM32F334 |
| STM32G4 | Cortex-M4 with FPU | 170 MHz | Motor control, digital power, precision analog, and mixed-signal control | STM32G431, STM32G474 |
| STM32C5 | Cortex-M33 with FPU | 144 MHz | Cost-sensitive designs that need stronger performance, modern interfaces, and security | STM32C531, STM32C562 |
| STM32L0 | Cortex-M0+ | 32 MHz | Basic ultra-low-power sensing and simple battery-powered products | STM32L011, STM32L053 |
| STM32U0 | Cortex-M0+ | 56 MHz | Newer entry-level ultra-low-power products with tight energy budgets | STM32U031, STM32U073 |
| STM32L4 | Cortex-M4 with FPU | 80 MHz | Low-power sensing, metering, wearables, and portable products | STM32L432, STM32L476 |
| STM32L4+ | Cortex-M4 with FPU | 120 MHz | Low-power applications requiring more memory, connectivity, or graphics capability | STM32L4R5, STM32L4S9 |
| STM32L5 | Cortex-M33 with FPU | 110 MHz | Low-power connected products requiring TrustZone-based security | STM32L552, STM32L562 |
| STM32U3 | Cortex-M33 with FPU | 96 MHz | Energy-efficient, secure, battery-powered industrial and consumer devices | STM32U375, STM32U385 |
| STM32U5 | Cortex-M33 with FPU | 160 MHz | Advanced low-power products requiring security, graphics, and large memory | STM32U575, STM32U585 |
| STM32F2 | Cortex-M3 | 120 MHz | Mature high-performance control and connectivity applications | STM32F205, STM32F207 |
| STM32F4 | Cortex-M4 with FPU | 180 MHz | General-purpose high performance, DSP, control, audio, and broad ecosystem support | STM32F401, STM32F407, STM32F429 |
| STM32F7 | Cortex-M7 | 216 MHz | Graphics, audio, high-speed connectivity, and memory-intensive applications | STM32F746, STM32F767 |
| STM32H5 | Cortex-M33 with FPU | 250 MHz | High-performance connected products requiring advanced security | STM32H562, STM32H573 |
| STM32H7 | Cortex-M7; Cortex-M7 + M4 on dual-core devices | Up to 600 MHz | High-throughput real-time control, advanced graphics, high-rate acquisition, and complex connectivity | STM32H743, STM32H745, STM32H7S7 |
| STM32N6 | Cortex-M55 | 800 MHz | Edge AI, computer vision, advanced graphics, audio, and multimedia processing | STM32N657 |
| STM32WB0 | Cortex-M0+ | 64 MHz | Cost-optimized Bluetooth Low Energy products | STM32WB05, STM32WB07 |
| STM32WB | Cortex-M4 + Cortex-M0+ | 64 MHz / 32 MHz | Bluetooth LE and IEEE 802.15.4 multiprotocol products with a dedicated radio core | STM32WB55 |
| STM32WBA | Cortex-M33 | 100 MHz | Newer Bluetooth LE, Zigbee, Thread, and Matter products requiring stronger security | STM32WBA52, STM32WBA55 |
| STM32WL | Cortex-M4, Cortex-M0+, or dual-core M4 + M0+ | 48 MHz | LoRaWAN and other long-range sub-GHz wireless products | STM32WL55 |
The maximum clock shown is the highest available within each series and does not apply to every part number.
If you are new to STM32, keep a few points in mind:
You will often see the STM32F103—commonly used on “Blue Pill” boards—and the STM32F407 because of their strong community support. Both are still usable, but they should not automatically be the first choice for a new design. The F103 uses a Cortex-M3 without an FPU, while a G4 may offer better control and analog features and an L4 may be better for low-power applications.
Although less common in tutorials than the F4, the STM32G4 is well suited to motor-control and digital-power designs, with CORDIC and FMAC accelerators, fast analog peripherals, and advanced-control timers.
Dual-core H7 devices such as the STM32H745 and H755 combine a Cortex-M7 with a Cortex-M4, allowing a real-time control loop to run on one core while communications or UI tasks run on the other. The two cores still require interprocessor communication and shared-resource management.
Peripheral and Interface Requirements Usually Decide It
Once you have narrowed down the core and series, the peripheral set is usually what eliminates most of the remaining candidates. Check the following requirements against your schematic—not just your firmware plan:
- Analog Front End: Consider ADC resolution, the number of independent ADC instances, DAC channels, and internal comparators or op-amps. A 12-bit ADC is common across the STM32 portfolio. Selected H7 devices offer native 16-bit ADCs, while G4 devices use fast 12-bit ADCs with hardware oversampling.
- Timers: Motor-control and digital-power designs should check for advanced-control timers, such as TIM1 and TIM8, with complementary PWM outputs and dead-time insertion. These are available on selected F4, G4, and H7 devices but may be limited or absent on smaller F0 and C0 parts.
- Memory and Display Interfaces: If the design requires external SDRAM, Quad-SPI Flash, or a parallel LCD, check for an FMC/FSMC or Quad-SPI peripheral. Graphics applications may also require an LTDC or MIPI DSI controller, which is available on selected F4, F7, and H7 devices.
- Security: If the product requires TrustZone-based isolation, secure boot, firmware protection, or hardware cryptography, consider Cortex-M33 series such as the C5, L5, U3, U5, H5, and WBA. Always confirm the exact security and cryptographic features in the device datasheet.
A practical shortcut: Identify one or two nonnegotiable features first, such as USB-C Power Delivery, FDCAN, a specific ADC requirement, or a display interface. These requirements can eliminate 70–80% of the catalog before you compare individual part numbers.
Let the Power Budget Drive the L/U vs. F/G/H Decision
For battery-powered or energy-harvesting designs, power consumption matters as much as raw performance:
- STM32L0: A good choice for simple sensors that spend most of their time in deep sleep, such as a wireless temperature sensor that wakes briefly every few minutes. On selected devices, low-power current can be as low as 340 nA, placing it well within the sub-microamp range.
- STM32L4/L4+: Better suited to battery-powered applications that require local signal processing, such as fitness bands and portable medical devices. ST quotes dynamic run current as low as 28 µA/MHz for L4 and 43 µA/MHz for L4+, compared with 89–260 µA/MHz across the F4 series, depending on the device and operating conditions.
- STM32U5: ST’s current ultra-low-power flagship, built on a 40 nm process and running at up to 160 MHz. Its Low-Power Background Autonomous Mode, or LPBAM, allows DMA and selected peripherals to continue operating while the CPU and most of the device remain asleep.
- STM32F4/F7/H7: These series are primarily optimized for performance. They still provide low-power modes, but they are generally less suitable for long-life coin-cell designs than the L and U families. A poorly managed duty cycle can drain a coin cell quickly.
If you are not yet certain whether the final product will be battery-powered, check for a verified pin-compatible migration path before locking the package and schematic.
Package, Memory Density, and Lifecycle
Three other practical filters complete the shortlist:
- Package: STM32 devices range from small WLCSP and UFQFPN packages—as small as about 2 × 2 mm on selected devices—to large BGAs with hundreds of pins on high-end H7 parts used with external memory and displays. Match the package to your PCB assembly capabilities; hand-solderable LQFP packages are often preferred for prototypes and low-volume builds.
- Flash/RAM Sizing: For A/B firmware updates, plan for roughly twice the application Flash, plus space for the bootloader, update metadata, and some margin. If the application runs on-device inference, a TCP/IP stack, or large DMA buffers, allow plenty of RAM.
- Pin-Compatible Families: ST maintains pin compatibility across many devices within the same package and product family, allowing performance or memory upgrades without necessarily respinning the board. Verify the exact migration path, however, rather than assuming that any two LQFP64 or LQFP100 devices are interchangeable.
- Longevity: ST provides long-term supply commitments for many STM32 products, commonly around 10 years. Always verify the status and longevity commitment of the exact part number, not just the series.
Development Tools to Check Before Ordering Silicon
STM32CubeMX
STM32CubeMX configures MCU pins, clock trees, peripheral operating modes, DMA, middleware, and project initialization code.
It is one of the fastest ways to determine whether a candidate MCU supports the required combination of peripherals within a specific package. A device may contain every required peripheral but still fail the design because those functions cannot be assigned to pins at the same time.
Run the intended configuration in CubeMX before completing the schematic.
STM32CubeIDE
STM32CubeIDE is ST’s free, multi-platform C/C++ development environment for STM32 code development, compilation, programming, and debugging. ST also provides an STM32CubeIDE workflow for Visual Studio Code.
CubeMX handles device configuration and initialization-code generation, while CubeIDE provides the coding, build, and debugging environment. The exact integration workflow may depend on the tool version being used.
HAL and LL Drivers
The Hardware Abstraction Layer provides a consistent API structure across STM32 series and usually reduces development time. It is useful for initialization, standard communication interfaces, and code that does not require minimum latency.
Low-Layer drivers provide thinner abstractions and more direct access to peripheral functions. They are useful when code size, interrupt latency, or execution timing is critical.
HAL and LL can be used together. A production design might use HAL for setup and noncritical interfaces while using LL or direct register access inside a time-critical control loop.
Nucleo and Discovery Boards
Nucleo and Discovery boards are available across most major STM32 series. They provide a practical way to test peripherals, measure performance, validate software architecture, and identify unexpected silicon limitations before committing to a custom PCB.
Nucleo boards also include an onboard ST-LINK programmer and debugger, which reduces the equipment needed for early evaluation.
Final Thoughts
Choosing an STM32 only matters if the decision holds up on real hardware. Before freezing the design, test the most critical functions under realistic operating conditions and resolve any issues while changes are still inexpensive.
Once the design is ready, PCBCool can take your STM32 project from the first prototype to reliable repeat production.
FAQs
A: No. Many high-current boards can use standard copper weights when trace width, copper area, and thermal design are properly optimized.
A: Copper planes are preferred when current is distributed across a larger area or when additional heat spreading is needed.
Salman Ali works on schematic design, PCB layout, product prototyping, and firmware development. He has hands-on experience taking electronic ideas from early concept to working product, and can also support 3D PCB modeling for design review.