Arduino core support for STM32 based boards is an Arduino core that enables development on STM32 microcontrollers using the Arduino IDE.
The project solves the problem of using STM32 devices within the Arduino ecosystem by providing hardware abstraction and standardized APIs. It builds on STM32Cube MCU Packages, which include the HAL hardware abstraction layer and Low-Layer APIs for performance-critical code, along with CMSIS device definitions. The core integrates the GNU Arm Embedded Toolchain for compilation and uses the Arduino Boards Manager for installation, making STM32 boards available as a selectable target within Arduino IDE 2.x.
Developers should choose this core if they want to program STM32 microcontrollers using Arduino's familiar IDE and sketch-based workflow rather than lower-level development environments. It suits projects that benefit from Arduino's simplicity while needing the capabilities of STM32 devices across multiple product families, from the STM32F0 through STM32U5 and specialized variants like the STM32MP1, STM32WB, and STM32WL. The project provides support for numerous STM32 board variants including Nucleo boards, enabling a wide range of applications from basic prototyping to more demanding embedded systems.
The project maintains continuous integration workflows covering Arduino builds, linting, spell-checking, and CMake compilation. Multiple automated checks run on pull requests to validate code quality and compatibility. The tool is actively maintained with structured documentation through a dedicated wiki and community forums, indicating ongoing support for users encountering issues or seeking guidance on implementation.