STM32 Microcontrollers
STM32 is a family of 32-bit, ARM Cortex-M microcontrollers manufactured by STMicroelectronics.
All STM32 micros are supported by ST’s own STM32CubeIDE.
Development Kits
A very popular range of development kits using the STM32 microcontrollers is the STM32 NUCLEO. These boards feature an STM32 microcontroller, integrated programmer with UART, and both Arduino and Morpho-style header pins (Morpho is ST’s proprietary header arrangement which provides greater connectivity than the industry-standard Arduino arrangement).
The firmware on the Nucleo’s on-board programmer/debugger IC (the IC which emulates an ST-LINK) can be updated with STM32CubeProgrammer or the standalone STLinkUpgrade tool, both of which run on Windows, Linux and macOS.
Programmers
To get an in-depth overview of all the ST programmers by ST themselves, see the technical note TN1235: Overview of ST-LINK derivatives.
ST-LINK/V1
ST-LINK/V1 is deprecated.
ST-LINK/V2
The ST-LINK/V2 is an in-circuit programmer and debugger for the STM8 and STM32 families of microcontrollers. It supports the SWIM (Single Wire Interface Module, for STM8 only)1, SWD (Single Wire Debug) and JTAG programming protocols.
ST-LINK/V2-ISOL
The ST-LINK/V2-ISOL is similar in functionality to the ST-LINK/V2 but with additional isolation between the PC and target board.
STLINK-V3
Designed to supersede the ST-LINK/V2 family of programmers. It originally came in three flavours:
- STLINK-V3SET: The “standard” programmer that comes with an enclosure. The main module board is the MB1441. Optional adapter boards can be attached to it for extra functionality.2
- STLINK-V3MINI: A miniature form of the programmer that comes as a bare PCB. Much cheaper than the STLINK-V3SET.
- STLINK-V3MODS: A programmer on a castellated-edged PCB module, designed to be soldered onto a PCB containing the microcontroller to be programmed.
ST has since added the STLINK-V3MINIE (which replaces the STLINK-V3MINI) and the STLINK-V3PWR (which adds a programmable power supply and power measurement).
All have 1 or more virtual comm ports (VCPs) and mass-storage device emulation for drag-and-drop flash programming.

STDC14 Connector
The STDC14 pinout/connector was introduced in STLINK-V3. This is a 14-pin 2x7 1.27mm pitch header-style connector. The middle 10-pins copy the standard 10-pin ARM Cortex programming connector. 2 on one end add UART TX/RX, and the other two on the other end are reserved.
The pinout for the STDC14 connector is shown in the table below.2
| Pin No. | Description | Pin No. | Description |
|---|---|---|---|
| 1 | Reserved | 2 | Reserved |
| 3 | T_VCC | 4 | T_JTMS/T_SWDIO |
| 5 | GND | 6 | T_JCLK/T_SWCLK |
| 7 | GND | 8 | T_JTDO/T_SWO |
| 9 | T_JRCLK/NC | 10 | T_JTDI/NC |
| 11 | GNDDetect | 12 | T_NRST |
| 13 | T_VCP_RX | 14 | T_VCP_TX |
The TagConnect TC2070-IDC-050 or TC2070-IDC-NL-050 cables can be used with the STLINK-V3 and its STDC14 connector to provide connector-less pogo-pin style programming.3
NUCLEO Development Kits
Given the costlier nature of the ST-LINK compared to the NUCLEO development kits, it makes economic sense just to buy the NUCLEO development kits and use them as standalone programmers (the kits provide header pins which break out the programming pins, so you can route it to an off-board micro). You also get the added benefit of having an extremely useful built-in UART (which emulates a COM port when the on-board programmer is plugged into a computer via USB cable), which for example, can be used as a debug UART. The ST-LINK/V2 doesn’t have this (although the STLINK-V3 family does).
STM32F0
The STM32F0 is a family of “general purpose” STM32 microcontrollers. The family uses a 48MHz ARM Cortex-M0 CPU architecture.
- Sleep mode: Only the CPU is stopped. All peripherals continue to operate and can wake-up the CPU.
- Stop mode: A mode designed to put everything into a low-power state but retain the content of SRAM and the registers.
- Standby mode: The lowest-power mode. Everything is stopped and SRAM/register content is lost, except for the registers in the RTC domain and standby circuitry.
GPIO capabilities:
GPIO can be configured as one of the following outputs:
- Push-pull
- Open-drain
Or as the following inputs:
- High-impedance
- Pull-up
- Pull-down
Reference schematic for the STM32F030 (just power, clock and programming):

STM32F1
The STM32F1 is a family of “general purpose” STM32 microcontrollers. The family uses an ARM Cortex-M3 CPU architecture.
Some things to note:
- All GPIO pins with the same integer last digit across each port (e.g.
PA1,PB1,PC1, …) are connected to the same external interrupt (EXTI) line, and only one pin may be connected to the interrupt at any one time. Be careful when routing signals to your GPIO pins! (This applies to all STM32 families, not just the STM32F1.) - Peripherals are divided into two APB buses.
APB1is limited to a maximum of 36MHz, so when running at the maximum 72MHz system clock the peripherals connected toAPB1run at half the main clock frequency, whilst peripherals connected toAPB2can run at the full main clock frequency. Both bus prescalers are configurable.
To develop with STM32F1 microcontrollers you will need two PDFs, the specific “datasheet” for the exact microcontroller you are using, and the more general and much bigger reference manual.
STM32G
The STM32G is a family of “general purpose” STM32 microcontrollers. The family either uses a 64MHz ARM Cortex-M0+ CPU architecture (the M0+ implements the same Armv6-M instruction set as the M0, but adds optional features such as an MPU and vector table relocation, and has a two-stage pipeline instead of the M0’s three-stage pipeline) for the G0 or the Cortex-M4F for the G44.
STM32G0
- STM32G0x0: Value line. Cheapest STM32G0 microcontrollers, with an entry-level set of analogue peripherals.
- STM32G0x1: More analogue features than the STM32G0x0.
STM32G4
Family of mixed-signal microcontrollers, which include both DSP and FPU instructions. This family uses the ARM Cortex-M4F CPU architecture. This is further sub-divided into the following sub-families:
- STM32G4x1: Access line: General-purpose microcontrollers with entry-level set of analogue peripherals.
- STM32G4x3: Performance line: General-purpose microcontrollers with the maximum number of analogue peripherals.
- STM32G4x4: Hi-resolution line: Features a high-resolution timer and complex waveform builder plus event handler for digital power conversion.
STM32H7
The STM32H7 is a family of high-performance STM32 microcontrollers. They run on a 32-bit Arm Cortex-M7 core at clock speeds up to 600 MHz. Embedded flash memory is available on some models from sizes of 64 kB to 2 MB.5 Pin counts vary from 64 to 240 pins.
the STM32H7 family is further sub-divided into the following lines:5
- Bootflash single-core lines (STM32H7R3/7S3, STM32H7R7/7S7): 600 MHz core with cost-optimzed 64 kB of bootflash and full external memory support.
- Dual-core lines (STM32H747/757, STM32H745/755): 480 Mhz and 240 MHz cores with up to 2 MB of flash and 1 MB of RAM.
- Single-core lines (STM32H723/733, STM32H725/735, STM32H743/753, STM32H742, STM32H7A3/7B3): 550 MHz cores or low-power 280 MHz cores with 34 uA (typ.) in STOP mode.
- Value lines (STM32H750, STM32H7B0, STM32H730): The cost-effective lines with 128 kB of flash and up to 1 MB of RAM.
STM32H743/753 Design Guide
The STM32H742xI/G and STM32H743xI/G devices include internal flash memory of up to 2 Mbytes and up to 1 Mbyte of RAM (including 192 Kbytes of TCM RAM, up to 864 Kbytes of user SRAM and 4 Kbytes of backup SRAM),
The datasheet is invaluable for understanding the pinout and capabilities of the STM32H743/753 devices.
VCAP pins require 2.2 uF X5R/X7R ceramic capacitors to GND.
The MCU contains two USB peripherals, OTG_HS1 and OTG_HS2:
OTG_HS1: Full-speed and high-speed. Has a ULPI (UTMI+ Low Pin Interface) for high-speed operation (requires an external PHY).OTHG_HS2: Full-speed only.
Both peripherals have an internal PHY for full-speed operation (e.g. D+ and D- lines connected directly to the MCU). Both can take on host, peripheral and OTG roles. They require a dedicarted 48 MHz clock generarted by a PLL connected to the HSE oscillator.
Boot modes: The boot address is detemined by both the BOOT pin and the BOOT_ADDx option bytes. Together, this allows any boot memory address from 0x0000 0000 to 0x3FFF FFFF to be used.6
The STM32H743/753 has a built-in ROM bootloader that can reprogram the flash memory via USART, FDCAN, I2C, SPI, and USB (FS only, not HS).6
Power supplies:6
| Supply | Voltage Range | Description |
|---|---|---|
| 1.62 to 3.6V | I/O supply voltage | |
| 1.62 to 3.6V | I/O supply voltage for the internal LDO regulator provided | |
| 1.62 to 3.6V | Analog supply voltage for the ADC, DAC, COMP and OPAMP peripherals. | |
| 1.2 to 3.6V | Power supply for when is not present. | |
| 1.0, 1.1, 1.2, or 1.35 V | supply voltage. Exact voltage depends on voltage scaling. |
STM32N6
STM32N6 is a series of STM32 MCUs with dedicated hardware for running edge AI. They feature an ARM Cortex-M55 running at 800 MHz and a NPU (neural processing unit) running at 1 GHz and capable of 0.6 TOPS (tera operations per second). The NPU is the ST Neural-ART accelerator.7
The STM32N6 directly supports image processing pipelines with a built-in MIPI CSI-2 interface and H264 hardware encoder.7 It has a hexadeca-SPI (XSPI) and FMC bus for fast communication with external memory.
The STM32N6 is further sub-divided into the following “lines”:
- STM32N6x7: AI line: Has a NPU (Neural-ART Accelerator). This is labelled “with AI acceleration”.
- STM32N6x5: General purpose line: Does not have a NPU.
Within these two lines some have HW cryptography units while others do not.
There are two primary development kits for the STM32N6. The comprehensive STM32N6570-DK contains a camera, LCD screen and touch panel, USB, Ethernet, microphone and 1 Gbit SPI flash memory. It features the STM32N657X0H3Q MCU.
The other dev kit is the NUCLEO-N657X0-Q which is structured like ST’s other Nucleo dev kits. It contains the STM32N657X0 MCU and provides a great way to test out the STM32N6 series of MCUs. It includes features such as: user buttons and LEDs, Ethernet, MIPI20 connector, M.2 key A serial memory connector and a CAN FD header.8 Unlike STM32N6570-DK, it does not come with a camera and LCD touch screen.

STM32WLEx
The STM32WLEx is a family of “SoC” microcontrollers featuring an STM32L4-class ARM Cortex-M4 core coupled with a sub-GHz wireless radio (derived from the Semtech SX126x) in the same physical IC. The radio supports LoRa, (G)FSK, (G)MSK and BPSK modulation, and ST provides a LoRaWAN stack that runs on top of it.
Footnotes
-
STMicroelectronics (2016, Aug). UM0470 User manual: STM8 SWIM communication protocol and debug module [user manual]. Retrieved 2020-09-03, from https://www.st.com/resource/en/user_manual/cd00173911-stm8-swim-communication-protocol-and-debug-module-stmicroelectronics.pdf. ↩
-
STMicroelectronics (2021, Dec). UM2448 User manual: STLINK-V3SET debugger/programmer for STM8 and STM32 [user manual]. Retrieved 2022-08-09, from https://www.st.com/en/development-tools/stlink-v3set.html#documentation. ↩ ↩2
-
TagConnect. Tag-Connect Solutions for Debuggers & Programmers: ST-Link-V3 Cable Selection [website]. Retrieved 2022-08-09, from https://www.tag-connect.com/debugger-cable-selection-installation-instructions/stlink-v3. ↩
-
Wikipedia (2021, Aug 31). STM32 [wiki]. Retrieved 2022-01-12, from https://en.wikipedia.org/wiki/STM32. ↩
-
STMicroelectronics. STM32H7 Series - Arm Cortex-M7 and Cortex-M4 MCUs [product page]. Retrieved 2026-09-13, from https://www.st.com/en/microcontrollers-microprocessors/stm32h7-series.html. ↩ ↩2
-
STMicroelectronics (2026, Jan). DS12110: STM32H742xI/G STM32H743xI/G - 32-bit Arm Cortex-M7 480MHz MCUs, up to 2MB flash, up to 1MB RAM, 46 com. and analog interfaces [datasheet]. Retrieved 2026-09-13, from https://www.st.com/resource/en/datasheet/stm32h743zi.pdf. ↩ ↩2 ↩3
-
STMicroelectronics. STM32N6 Series [product page]. Retrieved 2026-06-09, from https://www.st.com/en/microcontrollers-microprocessors/stm32n6-series.html. ↩ ↩2
-
STMicroelectronics. NUCLEO-N657X0-Q - STM32 Nucleo-144 development board with STM32N657X0 MCU, SMPS, supports Arduino, and ST morpho connectivity [product page]. Retrieved 2026-06-09, from https://www.st.com/en/evaluation-tools/nucleo-n657x0-q.html. ↩ ↩2

