This repo adds the support of STM32 MCU in Arduino IDE.
This porting is based on:
- STM32Cube MCU Packages including:
- The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls
- The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency
- CMSIS device defintion for STM32
- CMSIS: Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex®-M processor series and defines generic tool interfaces. It has been packaged as a module for Arduino IDE: https://github.com/stm32duino/ArduinoModule-CMSIS
- GNU Arm Embedded Toolchain: Arm Embedded GCC compiler, libraries and other GNU tools necessary for bare-metal software development on devices based on the Arm Cortex-M. Packages are provided thanks The xPack GNU Arm Embedded GCC: https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack
This repo is available as a package usable with Arduino Boards Manager.
Use this link in the "Additional Boards Managers URLs" field:
https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json
For full instructions on using the "Boards Manager", see the Getting Started page.
Advanced user can use the repository to benefit from the latest development. See the Using git repository page.
User can add a STM32 based board following this wiki.
- Nucleo 144 boards
- Nucleo 64 boards
- Nucleo 32 boards
- Discovery boards
- Eval boards
- STM32MP1 series coprocessor boards
- Generic STM32F0 boards
- Generic STM32F1 boards
- Generic STM32F3 boards
- Generic STM32F4 boards
- Generic STM32G0 boards
- Generic STM32G4 boards
- Generic STM32H7 boards
- Generic STM32L0 boards
- Generic STM32L4 boards
- 3D printer boards
- LoRa boards
- Electronic Speed Controller boards
- Generic flight controllers
- Garatronics boards
- Midatronics boards
Nucleo 144 boards
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F207ZG | Nucleo F207ZG | 0.2.0 | |
💚 | STM32F429ZI | Nucleo F429ZI | 0.1.0 | |
💚 | STM32F767ZI | Nucleo F767ZI | 1.4.0 | |
💚 | STM32F746ZG | Nucleo F746ZG | 1.9.0 | |
💚 | STM32F756ZG | Nucleo F756ZG | 1.9.0 | |
💚 | STM32L496ZG | Nucleo L496ZG | 1.3.0 | |
💚 | STM32L496ZG-P | Nucleo L496ZG-P | 1.3.0 | |
💚 | STM32L4R5ZI | Nucleo L4R5ZI | 1.4.0 | |
💚 | STM32L4R5ZI-P | Nucleo L4R5ZI-P | 1.4.0 | |
💚 | STM32H743ZI | Nucleo H743ZI(2) | 1.5.0 | Nucleo H743ZI2 since 1.6.0 |
Nucleo 64 boards
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F030R8 | Nucleo F030R8 | 0.2.0 | |
💚 | STM32F072RB | Nucleo F072RB | 1.9.0 | |
💚 | STM32F091RC | Nucleo F091RC | 0.1.0 | |
💚 | STM32F103RB | Nucleo F103RB | 0.2.0 | |
💚 | STM32F302R8 | Nucleo F302R8 | 1.1.0 | |
💚 | STM32F303RE | Nucleo F303RE | 0.1.0 | |
💚 | STM32F401RE | Nucleo F401RE | 0.2.1 | |
💚 | STM32F411RE | Nucleo F411RE | 0.2.1 | |
💚 | STM32F446RE | Nucleo F446RE | 1.1.1 | |
💚 | STM32G071RB | Nucleo G071RB | 1.6.0 | |
💚 | STM32G431RB | Nucleo G431RB | 1.7.0 | |
💚 | STM32G474RE | Nucleo G474RE | 1.7.0 | |
💚 | STM32L053R8 | Nucleo L053R8 | 0.1.0 | |
💚 | STM32L073RZ | Nucleo L073RZ | 1.4.0 | |
💚 | STM32L152RE | Nucleo L152RE | 1.0.0 | |
💚 | STM32L433RC-P | Nucleo L433RC-P | 1.9.0 | |
💚 | STM32L452RE | Nucleo L452RE | 1.5.0 | |
💚 | STM32L452RE-P | Nucleo L452RE-P | 1.8.0 | |
💚 | STM32L476RG | Nucleo L476RG | 0.1.0 | |
💚 | STM32WB55RG STM32WB55CG |
P-Nucleo-WB55RG | 1.6.0 | No BLE support |
Nucleo 32 boards
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F031K6 | Nucleo F031K6 | 1.9.0 | |
💚 | STM32F303K8 | Nucleo F303K8 | 1.1.0 | |
💛 | STM32G031K8 | Nucleo G031K8 | 2.0.0 | |
💚 | STM32G431KB | Nucleo G431KB | 1.7.0 | |
💚 | STM32L031K6 | Nucleo L031K6 | 1.1.1 | |
💚 | STM32L412KB | Nucleo L412KB | 1.5.0 | |
💚 | STM32L432KC | Nucleo L432KC | 0.2.0 |
Discovery boards
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F030R8 | 32F0308DISCOVERY | 1.3.0 | |
💚 | STM32F072RB | 32F072BDISCOVERY | 1.5.0 | |
💚 | STM32F100RB | STM32VLDISCOVERY | 0.2.1 | |
💚 | STM32F407VG | STM32F407G-DISC1 | 0.1.0 | |
💚 | STM32F746NG | STM32F746G-DISCOVERY | 0.1.0 | |
💚 | STM32G031J6 | STM32G0316-DISCO | 1.9.0 | |
💛 | STM32G431CB | B-G431B-ESC1 | 2.0.0 | |
💚 | STM32L072CZ | B-L072Z-LRWAN1 | 1.1.0 | |
💚 | STM32L475VG | B-L475E-IOT01A | 1.0.1 | |
💚 | STM32F413ZH | 32F413HDISCOVERY | 1.9.0 | |
💛 | STM32L4S5VI | B-L4S5I-IOT01A | 2.0.0 |
Eval boards
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32L4R9ZI | STEVAL-MKSBOX1V1 (SensorTile.box) | 1.7.0 |
STM32MP1 series coprocessor boards
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32MP157A | STM32MP157A-DK1 | 1.8.0 | See the documentation to use this board |
💚 | STM32MP157C | STM32MP157C-DK2 | 1.8.0 | See the documentation to use this board |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F030F4 | STM32F030F4 Demo board | 1.5.0 |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F103C6 STM32F103C8 STM32F103CB |
Blue Pill | 1.2.0 | USB CDC support since 1.5.0 Maple bootloaders support since 1.6.0 |
💚 | STM32F103C8 STM32F103CB |
Black Pill | 1.5.0 | |
💚 | STM32F103C4 STM32F103C6 STM32F103C8 STM32F103CB |
Generic Board | 1.9.0 | |
💚 | STM32F103R6 STM32F103R8 STM32F103RB STM32F103RC STM32F103RD STM32F103RE STM32F103RF STM32F103RG |
Generic Board | 1.9.0 | |
💚 | STM32F103T4 STM32F103T6 STM32F103T8 STM32F103TB |
Generic Board | 1.9.0 | |
💚 | STM32F103V8 STM32F103VB STM32F103VC STM32F103VD STM32F103VE STM32F103VF STM32F103VG |
Generic Board | 1.9.0 | |
💚 | STM32F103ZC STM32F103ZD STM32F103ZE STM32F103ZF STM32F103ZG |
Generic Board | 1.9.0 | |
💚 | STM32F103TB | HY-TinySTM103T | 1.5.0 | More info |
💚 | STM32F103CB | Maple Mini | 1.2.0 | More info USB CDC support since 1.5.0 Maple bootloaders support since 1.6.0 |
💚 | STM32F103ZE | vcc-gnd.com | 1.9.0 | More info |
💚 | STM32F103ZE | vcc-gnd.com Mini | 1.9.0 | More info |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F303CC | RobotDyn Black Pill | 1.6.1 | More info |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F405RG | Adafruit Feather STM32F405 Express | 1.8.0 | |
💚 | STM32F401CC | WeAct Black Pill | 1.7.0 | More info |
💚 | STM32F411CE | WeAct Black Pill | 1.9.0 | More info |
💚 | STM32F407VE STM32F407VG |
STM32 F4VE / Black F407VET6 | 1.4.0 | STM32F407VG support since 1.5.0 |
💚 | STM32F407ZE STM32F407ZG |
Black F407ZE / Black F407ZG | 1.5.0 | |
💚 | STM32F407VE | vcc-gnd.com Mini | 1.4.0 | More info |
💚 | STM32F401RC | STM32F Core Board | 1.7.0 | |
💚 | STM32F407VG | DIYMORE STM32F407VGT | 1.5.0 | |
💚 | STM32F407VE | FK407M1 | 1.5.0 | |
💚 | STM32F401CB STM32F401CC STM32F401CD STM32F401CE |
Generic Board | 1.9.0 | |
💚 | STM32F401RB STM32F401RC STM32F401RD STM32F401RE |
Generic Board | 1.8.0 | |
💚 | STM32F405RG | Generic Board | 1.9.0 | |
💚 | STM32F407VE STM32F407VG |
Generic Board | 1.9.0 | |
💚 | STM32F410C8 STM32F410CB |
Generic Board | 1.9.0 | |
💚 | STM32F410R8 STM32F410RB |
Generic Board | 1.9.0 | |
💚 | STM32F411CC STM32F411CE |
Generic Board | 1.9.0 | |
💚 | STM32F411RC STM32F411RE |
Generic Board | 1.9.0 | |
💚 | STM32F412CE STM32F412CG |
Generic Board | 1.9.0 | |
💚 | STM32F412RE STM32F412RG |
Generic Board | 1.9.0 | |
💚 | STM32F413CG STM32F413CH |
Generic Board | 1.9.0 | |
💚 | STM32F413RG STM32F413RH |
Generic Board | 1.9.0 | |
💚 | STM32F415RG | Generic Board | 1.9.0 | |
💚 | STM32F417VE STM32F417VG |
Generic Board | 1.9.0 | |
💚 | STM32F423CH | Generic Board | 1.9.0 | |
💚 | STM32F423RH | Generic Board | 1.9.0 | |
💚 | STM32F446RC STM32F446RE |
Generic Board | 1.9.0 | |
💚 | STM32F411CE | ThunderPack v1.1+ | 1.9.0 |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💛 | STM32G030K8 | Aurora One | 2.0.0 | |
💛 | STM32G030K6 STM32G030K8 |
Generic Board | 2.0.0 | |
💛 | STM32G031J4 STM32G031J6 |
Generic Board | 2.0.0 | |
💛 | STM32G031K4 STM32G031K6 STM32G031K8 |
Generic Board | 2.0.0 | |
💛 | STM32G041J6 | Generic Board | 2.0.0 | |
💛 | STM32G041K6 STM32G041K8 |
Generic Board | 2.0.0 | |
💛 | STM32G071R6 STM32G071R8 STM32G071RB |
Generic Board | 2.0.0 | |
💛 | STM32G081RB | Generic Board | 2.0.0 |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💛 | STM32G431C6U STM32G431C8U STM32G431CBU |
Generic Board | 2.0.0 | |
💛 | STM32G441CBU | Generic Board | 2.0.0 | |
💛 | STM32G431K6 STM32G431K8 STM32G431KB |
Generic Board | 2.0.0 | |
💛 | STM32G441KB | Generic Board | 2.0.0 | |
💛 | STM32G431R6 STM32G431R8 STM32G431RB |
Generic Board | 2.0.0 | |
💛 | STM32G441RB | Generic Board | 2.0.0 | |
💛 | STM32G473RB STM32G473RC STM32G473RE |
Generic Board | 2.0.0 | |
💛 | STM32G474RB STM32G474RC STM32G474RE |
Generic Board | 2.0.0 | |
💛 | STM32G483RE | Generic Board | 2.0.0 | |
💛 | STM32G484RE | Generic Board | 2.0.0 |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32H750IB | Daisy | 1.9.0 |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32L072RB | PX-HER0 | 1.8.0 | |
💚 | STM32L072KZ | ThunderPack v1.0 | 1.8.0 |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💛 | STM32L412K8 STM32L412KB STM32L422KB |
Generic Board | 2.0.0 | |
💛 | STM32L432KB STM32L432KC STM32L442KC |
Generic Board | 2.0.0 | |
💛 | STM32L433RC-P | Generic Board | 2.0.0 | |
💛 | STM32L452RC STM32L452RE STM32L462RE |
Generic Board | 2.0.0 | |
💛 | STM32L452RE-P | Generic Board | 2.0.0 | |
💛 | STM32L475VC STM32L475VE STM32L475VG |
Generic Board | 2.0.0 | |
💛 | STM32L476VC STM32L476VE STM32L476VG |
Generic Board | 2.0.0 | |
💛 | STM32L476RC STM32L476RE STM32L476RG |
Generic Board | 2.0.0 | |
💛 | STM32L486VG | Generic Board | 2.0.0 | |
💛 | STM32L496ZE STM32L496ZG |
Generic Board | 2.0.0 | |
💛 | STM32L496ZG-P | Generic Board | 2.0.0 | |
💛 | STM32L4A6ZG | Generic Board | 2.0.0 | |
💛 | STM32L4A6ZG-P | Generic Board | 2.0.0 | |
💛 | STM32L4R5VG STM32L4R5VI |
Generic Board | 2.0.0 | |
💛 | STM32L4R5ZGTx STM32L4R5ZITx |
Generic Board | 2.0.0 | |
💛 | STM32L4R5ZI-P | Generic Board | 2.0.0 | |
💛 | STM32L4R7VITx | Generic Board | 2.0.0 | |
💛 | STM32L4R7ZITx | Generic Board | 2.0.0 | |
💛 | STM32L4R9ZGJx STM32L4R9ZIJx |
Generic Board | 2.0.0 | |
💛 | STM32L4S5VI | Generic Board | 2.0.0 | |
💛 | STM32L4S5ZITx | Generic Board | 2.0.0 | |
💛 | STM32L4S7VI | Generic Board | 2.0.0 | |
💛 | STM32L4S7ZITx | Generic Board | 2.0.0 | |
💛 | STM32L4S9ZIJx | Generic Board | 2.0.0 |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F407VE | ARMED V1 | 1.5.0 | |
💚 | STM32F030 | EExtruder F030 V1 | 1.5.0 | Small companion board for Prntr Board V1 |
💚 | STM32F103C8 | Malyan M200 V1 | 1.5.0 | |
💚 | STM32F070C8 | Malyan M200 V2 | 1.5.0 | |
💚 | STM32F070C8 | Malyan M300 | 1.8.0 | |
💚 | STM32F407VE | Prntr Board V1 | 1.5.0 | |
💚 | STM32F407VE | Prntr Board V2 | 1.8.0 | |
💚 | STM32F765VI | RemRam v1 | 1.4.0 | |
💚 | STM32F446VE | RUMBA32 | 1.5.0 | |
💚 | STM32F401VE | STEVAL-3DP001V1 | 1.6.0 | |
💚 | STM32F446RE | VAkE v1.0 | 1.6.0 | |
💚 | STM32F446VE | FYSETC_S6 | 1.9.0 |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F072C8 STM32F072CB |
Elektor LoRa Node | 1.8.0 | More info |
💚 | STM32L151RB | RAK811 LoRa Tracker | 1.4.0 | Wiki |
💚 | STM32L051C8 | RHF76-052 | 1.7.0 | Basic support |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F051K6 | Wraith V1 ESC | 1.8.0 |
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F103CB | Afro Flight Rev5 (8/12MHz) | 1.7.0 | |
💚 | STM32F303CC | Sparky V1 | 1.6.0 |
Garatronic/McHobby boards
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32F072RB | PYBStick 26 Duino | 1.9.0 | More info |
💚 | STM32F401CE | PYBStick 26 Lite | 1.9.0 | More info |
💚 | STM32F411RE | PYBStick 26 Standard | 1.9.0 | More info |
💚 | STM32F412RE | PYBStick 26 Pro | 1.9.0 | More info |
Midatronics boards
Status | Device(s) | Name | Release | Notes |
---|---|---|---|---|
💚 | STM32WB55CG | SharkyMKR | 1.7.0 |
See milestones to have an overview of the next release content.
For question, support, ..., you could submit a topic on the stm32duino forum.
If you have any issue, you could file an issue on Github.
In any case, it always fine to search if your issue was not already existing before submit a new one.