STM32 is a family of 32-bit, ARM Cortex-M microcontrollers manufactured by ST Mircoelectronics.
STM32 micros are supported by ST’s own STM32CubeIDE.
A very popular range of development kits using the STM32 microcontrollers is the STM32 NUCLEO. These boards feature a 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).
A Windows machine is required to update the firmware on the Nucleo programmer/debugger IC (the IC which emulates an ST-Link).
To get an in-depth overview of all the ST programmers by ST themselves, see https://www.st.com/resource/en/technical_note/dm00290229-overview-of-stlink-derivatives-stmicroelectronics.pdf.
ST-LINK/V1 is deprecated.
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.
The ST-LINK/V2-ISOL is similar in functionality to the ST-LINK/V2 but with additional isolation between the PC and target board.
Designed to supersede the ST-LINK/V2 family of programmers. Comes in three flavours:
- STLINK-V3MODS: A programmer on a castellated-edged PCB module, designed to be soldered onto a PCB containing the microcontroller to be programmed.
All have 1 or more virtual comm ports (VCPs) and mass-storage device emulation for drag-and-drop flash programming.
NUCLEO Development Kits
Given the costlier nature of the ST-LINK compared to the NUCLEO development kits, it makes economic sense just to by the NUCLEO development kits and use them as standalone programmers (the kits provide header pins which breakout the programming pins, so you can route it to an off-board micro). You also get the added benefit of having a 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 standard programmers don’t have this!
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 can be configured as one of the following outputs:
Or as the following inputs:
Reference schematic for the STM32F030 (just power, clock and programming):
STM32WLEx is a family of “SoC” microcontrollers featuring a
STM32L4 coupled with a wireless radio IC that supports LoRaWAN (both of these are in the same physical IC).
- virtual COM ports