Platform ststm32

The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.

For more detailed information please visit vendor site.

Packages

Name Description
framework-arduinoststm32 Arduino Wiring-based Framework (STM32 Core)
framework-cmsis Vendor-independent hardware abstraction layer for the Cortex-M processor series
framework-libopencm3 libOpenCM3 Framework
framework-mbed mbed Framework
framework-spl Standard Peripheral Library for STM32 MCUs
tool-stlink ST-Link
tool-stm32duino STM32Duino Tools
toolchain-gccarmnoneeabi gcc-arm-embedded

Warning

Linux Users:

  • Ubuntu/Debian users may need to add own “username” to the “dialout” group if they are not “root”, doing this issuing a sudo usermod -a -G dialout yourusername.
  • Install “udev” rules file 99-platformio-udev.rules (an instruction is located in the file).
  • Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

Windows Users: Please check that you have correctly installed USB driver from board manufacturer

Frameworks

Name Description
Framework arduino Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
Framework cmsis The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
Framework libopencm3 The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
Framework mbed The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
Framework spl The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.

Boards

Note

96Boards

ID Name Microcontroller Frequency Flash RAM
b96b_f446ve 96Boards B96B-F446VE STM32F446VET6 168 MHz 512 Kb 128 Kb

Armstrap

ID Name Microcontroller Frequency Flash RAM
armstrap_eagle1024 Armstrap Eagle 1024 STM32F417VGT6 168 MHz 1024 Kb 192 Kb
armstrap_eagle2048 Armstrap Eagle 2048 STM32F427VIT6 168 MHz 2048 Kb 256 Kb
armstrap_eagle512 Armstrap Eagle 512 STM32F407VET6 168 MHz 512 Kb 192 Kb

Espotel

ID Name Microcontroller Frequency Flash RAM
elmo_f411re Espotel LoRa Module STM32F411RET6 100 MHz 512 Kb 128 Kb

Generic

ID Name Microcontroller Frequency Flash RAM
bluepill_f103c8 BluePill F103C8 STM32F103C8T6 72 MHz 64 Kb 20 Kb
genericSTM32F103C8 STM32F103C8 (20k RAM. 64k Flash) STM32F103C8 72 MHz 64 Kb 20 Kb
genericSTM32F103CB STM32F103CB (20k RAM. 128k Flash) STM32F103CB 72 MHz 128 Kb 20 Kb
genericSTM32F103R8 STM32F103R8 (20k RAM. 64 Flash) STM32F103R8 72 MHz 64 Kb 20 Kb
genericSTM32F103RB STM32F103RB (20k RAM. 128k Flash) STM32F103RB 72 MHz 128 Kb 20 Kb
genericSTM32F103RC STM32F103RC (48k RAM. 256k Flash) STM32F103RC 72 MHz 256 Kb 48 Kb
genericSTM32F103RE STM32F103RE (64k RAM. 512k Flash) STM32F103RE 72 MHz 512 Kb 64 Kb

LeafLabs

ID Name Microcontroller Frequency Flash RAM
maple Maple STM32F103RB 72 MHz 128 Kb 17 Kb
maple_mini_b20 Maple Mini Bootloader 2.0 STM32F103CB 72 MHz 128 Kb 20 Kb
maple_mini_origin Maple Mini Original STM32F103CB 72 MHz 128 Kb 17 Kb

MultiTech

ID Name Microcontroller Frequency Flash RAM
mts_dragonfly_f411re MTS Dragonfly STM32F411RET6 100 MHz 512 Kb 128 Kb
mts_mdot_f405rg MultiTech mDot STM32F411RET6 100 MHz 512 Kb 128 Kb
mts_mdot_f411re MultiTech mDot F411 STM32F411RET6 100 MHz 512 Kb 128 Kb
xdot_l151cc MultiTech xDot STM32L151CCU6 32 MHz 256 Kb 32 Kb

ST

ID Name Microcontroller Frequency Flash RAM
disco_f051r8 ST STM32F0DISCOVERY STM32F051R8T6 48 MHz 64 Kb 8 Kb
disco_f100rb ST STM32VLDISCOVERY STM32F100RBT6 24 MHz 128 Kb 8 Kb
disco_f303vc ST STM32F3DISCOVERY STM32F303VCT6 72 MHz 256 Kb 48 Kb
disco_f334c8 ST 32F3348DISCOVERY STM32F334C8T6 72 MHz 64 Kb 12 Kb
disco_f401vc ST 32F401CDISCOVERY STM32F401VCT6 84 MHz 256 Kb 64 Kb
disco_f407vg ST STM32F4DISCOVERY STM32F407VGT6 168 MHz 1024 Kb 128 Kb
disco_f429zi ST 32F429IDISCOVERY STM32F429ZIT6 180 MHz 2048 Kb 256 Kb
disco_f469ni ST 32F469IDISCOVERY STM32F469NIH6 180 MHz 1024 Kb 384 Kb
disco_f746ng ST 32F746GDISCOVERY STM32F746NGH6 216 MHz 1024 Kb 320 Kb
disco_f769ni ST 32F769IDISCOVERY STM32F769NIH6 80 MHz 1024 Kb 512 Kb
disco_l053c8 ST 32L0538DISCOVERY STM32L053C8T6 32 MHz 64 Kb 8 Kb
disco_l152rb ST STM32LDISCOVERY STM32L152RBT6 32 MHz 128 Kb 16 Kb
disco_l476vg ST 32L476GDISCOVERY STM32L476VGT6 80 MHz 1024 Kb 128 Kb
nucleo_f030r8 ST Nucleo F030R8 STM32F030R8T6 48 MHz 64 Kb 8 Kb
nucleo_f031k6 ST Nucleo F031K6 STM32F031K6T6 48 MHz 32 Kb 4 Kb
nucleo_f042k6 ST Nucleo F042K6 STM32F042K6T6 48 MHz 32 Kb 6 Kb
nucleo_f070rb ST Nucleo F070RB STM32F070RBT6 48 MHz 128 Kb 16 Kb
nucleo_f072rb ST Nucleo F072RB STM32F072RBT6 48 MHz 128 Kb 16 Kb
nucleo_f091rc ST Nucleo F091RC STM32F091RCT6 48 MHz 256 Kb 32 Kb
nucleo_f103rb ST Nucleo F103RB STM32F103RBT6 72 MHz 128 Kb 20 Kb
nucleo_f207zg ST Nucleo F207ZG STM32F207ZGT6 120 MHz 1024 Kb 128 Kb
nucleo_f302r8 ST Nucleo F302R8 STM32F302R8T6 72 MHz 64 Kb 16 Kb
nucleo_f303k8 ST Nucleo F303K8 STM32F303K8T6 72 MHz 64 Kb 16 Kb
nucleo_f303re ST Nucleo F303RE STM32F303RET6 72 MHz 512 Kb 64 Kb
nucleo_f303ze ST Nucleo F303ZE STM32F303ZET6 72 MHz 512 Kb 64 Kb
nucleo_f334r8 ST Nucleo F334R8 STM32F334R8T6 72 MHz 64 Kb 16 Kb
nucleo_f401re ST Nucleo F401RE STM32F401RET6 84 MHz 512 Kb 96 Kb
nucleo_f410rb ST Nucleo F410RB STM32F410RBT6 100 MHz 128 Kb 32 Kb
nucleo_f411re ST Nucleo F411RE STM32F411RET6 100 MHz 512 Kb 128 Kb
nucleo_f429zi ST Nucleo F429ZI STM32F429ZIT6 180 MHz 2048 Kb 256 Kb
nucleo_f446re ST Nucleo F446RE STM32F446RET6 180 MHz 512 Kb 128 Kb
nucleo_f446ze ST Nucleo F446ZE STM32F446ZET6 180 MHz 512 Kb 128 Kb
nucleo_f746zg ST Nucleo F746ZG STM32F746ZGT6 216 MHz 1024 Kb 320 Kb
nucleo_f767zi ST Nucleo F767ZI STM32F746ZGT6 216 MHz 2048 Kb 512 Kb
nucleo_l011k4 ST Nucleo L011K4 STM32L011K4T6 32 MHz 16 Kb 2 Kb
nucleo_l031k6 ST Nucleo L031K6 STM32L031K6T6 32 MHz 32 Kb 8 Kb
nucleo_l053r8 ST Nucleo L053R8 STM32L053R8T6 48 MHz 64 Kb 8 Kb
nucleo_l073rz ST Nucleo L073RZ STM32L073RZ 32 MHz 192 Kb 20 Kb
nucleo_l152re ST Nucleo L152RE STM32L152RET6 32 MHz 512 Kb 80 Kb
nucleo_l432kc ST Nucleo L432KC STM32L432KCU6 80 MHz 256 Kb 64 Kb
nucleo_l476rg ST Nucleo L476RG STM32L476RGT6 80 MHz 1024 Kb 128 Kb

SeeedStudio

ID Name Microcontroller Frequency Flash RAM
seeedArchMax Seeed Arch Max STM32F407VET6 168 MHz 512 Kb 192 Kb

Semtech

ID Name Microcontroller Frequency Flash RAM
mote_l152rc NAMote72 STM32L152RC 32 MHz 256 Kb 32 Kb

u-blox

ID Name Microcontroller Frequency Flash RAM
ublox_evk_odin_w2 u-blox EVK-ODIN-W2 STM32F439ZIY6 168 MHz 2048 Kb 256 Kb

Examples

All project examples are located in PlatformIO repository Examples for ST STM32 platform.