stm32duino/Arduino_Core_STM32
FreeSTM32 core support for Arduino
About stm32duino/Arduino_Core_STM32
This repository provides Arduino core support for STM32 based boards, enabling their use in Arduino IDE 2.x. It is built upon STM32Cube MCU Packages including the HAL hardware abstraction layer, Low-Layer APIs, and CMSIS (Cortex Microcontroller Software Interface Standard). The core also integrates the GNU Arm Embedded Toolchain for compilation. It supports a wide range of STM32 boards including Nucleo, Discovery, Eval, and many generic series (STM32C0, F0, F1, F2, F3, F4, F7, G0, G4, H5, H7, L0, L1, L4, L5, U0, U3, U5, WB, WB0, WBA, WL3, WL) as well as specialized boards for 3D printers, flight controllers, LoRa, IoT, and more. Users can install the core via Arduino Boards Manager using the provided package index URL or use the git repository for the latest development.
Key Features
Pros & Cons
- Free and open source with a permissive license
- Large community and extensive support for many STM32 boards
- Leverages official STM32Cube HAL for reliable, tested drivers
- Easy to install via Arduino Boards Manager
- Regularly updated on GitHub with new board support and improvements
- Only supports Arduino IDE 2.x (version 1.x is deprecated since core release 2.8.0)
- Requires manual addition of a board manager URL to get started
- Some board support variants may be marked as experimental or limited (see release notes)
- Not a full professional development environment; limited debugging compared to STM32CubeIDE