PCBWiki

Microcontrollers

MCUs and MCU modules: minimal circuits, strapping and boot pins, clock requirements, and the supply gotchas that cause field failures.

Written and verified by John Merton · verified 2026-07-12

Microcontrollers are the programmable brains of a board: a CPU core, memory, peripherals, and GPIO on a single chip. This category covers parts you drop onto your own PCB — bare ICs like the STM32F103C8T6 and ATmega328P, and modules like the ESP32-WROOM-32 and RP2040 that bundle the MCU with flash, crystal, and antenna so you don't have to. It does not cover development boards; those are the test vehicle, not the BOM line.

The decision in this category starts with a budget: how much flash and RAM does the application actually consume, not the optimistic estimate. From there the hard constraints are supply voltage, available GPIO count after peripheral muxing, and the boot/strapping pins that must be right before the first line of firmware runs. A 3.3 V MCU on a 5 V sensor bus needs level translation; a 1.8 V core on a 3.3 V I/O bank might not need it. The gotchas page for each part covers the specific pin traps.

A secondary axis that bites later is toolchain and ecosystem: a part with excellent silicon and no maintained HAL costs more engineering time than a slightly overspec part with a mature SDK. We document what we can verify from the datasheet; toolchain quality is community experience and evolves faster than datasheet revisions.

How to choose

The axes below are the criteria you actually weigh when selecting a part in this category.

Flash and RAM budget
Measure actual firmware size with debug symbols on, not the optimistic estimate. An MCU that runs out of flash at 90% of the project is a board respin.
See:STM32F103C8T6ATmega328PRP2040ESP32-WROOM-32
Supply voltage and I/O tolerance
A 3.3 V MCU driving 5 V logic needs level shifting on every pin that goes high. A 5 V-tolerant MCU saves those parts but typically runs slower or draws more current.
See:ATmega328PSTM32F103C8T6ATmega32U4
Boot and strapping pin requirements
Every MCU has pins that must be in a specific state at reset or the chip won't boot. Getting them wrong is a board spin, not a firmware fix.
See:ESP32-WROOM-32RP2040STM32F103C8T6
Integrated vs external peripherals
An ESP32 module bundles flash, crystal, and antenna. A bare STM32 needs you to add them. The module costs more per unit but saves design time and RF certification.
See:ESP32-WROOM-32STM32F103C8T6RP2040
Ecosystem and toolchain maturity
Parts with a maintained HAL, debug probe support, and active community reduce firmware engineering time. A neglected SDK on great silicon can cost more than the silicon saved.
See:RP2040STM32F103C8T6ESP32-WROOM-32

All parts in this category

Compare specs

Parts in this guide verified against manufacturer datasheets; latest 2026-07-12.

MPNPackageLifecycleHeadline spec
ESP32-WROOM-32SMD module, 38-pinNRNDFlash: 4 MB external SPI flash on module
ESP32-S3-WROOM-141-pin SMD module, 18.0 x 25.5 x 3.1 mm, on-board PCB antennaActiveSoC: ESP32-S3, Xtensa dual-core 32-bit LX7, up to 240 MHz
STM32F103C8T6LQFP48, 7 × 7 mmActiveCore/clock: Arm Cortex-M3, 72 MHz max
RP2040QFN-56, 7 × 7 mmActiveCores/clock: Dual Arm Cortex-M0+, up to 133 MHz (200 MHz supported at DVDD = 1.15 V)
ATmega328P32-lead TQFP (package code 32A)NRNDFlash: 32 KB In-System Self-Programmable Flash
ATmega32U444-lead TQFP 10 × 10 mm (44ML) / 44-lead QFN 7 × 7 mm (44PW)ActiveFlash: 32 KB In-System Self-Programmable Flash

Found an error? Submit a correction — we verify every correction against the manufacturer’s datasheet.