/Arduino_Core_STM32

STM32 core support for Arduino

Primary LanguageCOtherNOASSERTION

Arduino core support for STM32 based boards

GitHub release GitHub All Releases GitHub commits Build Status

Introduction

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: https://github.com/stm32duino/arm-none-eabi-gcc

Getting Started

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.

Boards available

Status Nucleo 144 Release Comment
๐Ÿ’š Nucleo F207ZG 0.2.0
๐Ÿ’š Nucleo F429ZI 0.1.0
๐Ÿ’š Nucleo F767ZI 1.4.0
๐Ÿ’š Nucleo L496ZG 1.3.0
๐Ÿ’š Nucleo L496ZG-P 1.3.0
๐Ÿ’š Nucleo L4R5ZI 1.4.0
๐Ÿ’š Nucleo L4R5ZI-P 1.4.0
๐Ÿ’š Nucleo H743ZI(2) 1.5.0 Nucleo H743ZI2 since 1.6.0
Status Nucleo 64 Release Comment
๐Ÿ’š Nucleo F030R8 0.2.0
๐Ÿ’š Nucleo F091RC 0.1.0
๐Ÿ’š Nucleo F103RB 0.2.0
๐Ÿ’š Nucleo F302R8 1.1.0
๐Ÿ’š Nucleo F303RE 0.1.0
๐Ÿ’š Nucleo F401RE 0.2.1
๐Ÿ’š Nucleo F411RE 0.2.1
๐Ÿ’š Nucleo F446RE 1.1.1
๐Ÿ’š Nucleo-G071RB 1.6.0
๐Ÿ’š Nucleo-G431RB 1.7.0
๐Ÿ’š Nucleo-G474RE 1.7.0
๐Ÿ’š Nucleo L053R8 0.1.0
๐Ÿ’š Nucleo L073RZ 1.4.0
๐Ÿ’š Nucleo L152RE 1.0.0
๐Ÿ’š Nucleo L452RE 1.5.0
๐Ÿ’› Nucleo L452RE-P 1.8.0
๐Ÿ’š Nucleo L476RG 0.1.0
๐Ÿ’š P-Nucleo-WB55RG 1.6.0 No BLE support
Status Nucleo 32 Release Comment
๐Ÿ’š Nucleo F303K8 1.1.0
๐Ÿ’š Nucleo-G431KB 1.7.0
๐Ÿ’š Nucleo L031K6 1.1.1
๐Ÿ’š Nucleo L412KB 1.5.0
๐Ÿ’š Nucleo L432KC 0.2.0
Status Discovery Release Comment
๐Ÿ’š 32F0308DISCOVERY 1.3.0
๐Ÿ’š 32F072BDISCOVERY 1.5.0
๐Ÿ’š STM32VLDISCOVERY 0.2.1
๐Ÿ’š STM32F407G-DISC1 0.1.0
๐Ÿ’š STM32F746G-DISCOVERY 0.1.0
๐Ÿ’š B-L072Z-LRWAN1 1.1.0
๐Ÿ’š B-L475E-IOT01A 1.0.1
Status Eval Release Comment
๐Ÿ’š STEVAL-MKSBOX1V1 (SensorTile.box) 1.7.0
Status Generic STM32F0xx Release Comment
๐Ÿ’š STM32F030F4 Demo board 1.5.0
Status Generic STM32F1xx Release Comment
๐Ÿ’š BluePill F103C(6-8-B) 1.2.0 USB CDC support since 1.5.0, Maple bootloaders support since 1.6.0
๐Ÿ’š BlackPill F103C(8-B) 1.5.0
๐Ÿ’š Generic F103R(8-B-C-E)T6 1.7.0 Blue Button
๐Ÿ’š HY-TinySTM103T 1.5.0
๐Ÿ’š MapleMini F103CB 1.2.0 USB CDC support since 1.5.0, Maple bootloaders support since 1.6.0
Status Generic STM32F3xx Release Comment
๐Ÿ’š RobotDyn BlackPill F303CC 1.6.1
Status Generic STM32F4xx Release Comment
๐Ÿ’› Adafruit Feather STM32F405 Express 1.8.0
๐Ÿ’š BlackPill F401CC 1.7.0
๐Ÿ’š Black F407VET6 1.4.0 VG/ZE/ZG in 1.5.0
๐Ÿ’š Blue F407VET6 Mini 1.4.0
๐Ÿ’š Core Board F401RC 1.7.0
๐Ÿ’š DIYMORE STM32F407VGT 1.5.0
๐Ÿ’š FK407M1 1.5.0
Status 3D printer boards Release Comment
๐Ÿ’š ARMED V1 1.5.0
๐Ÿ’š EExtruder F030 V1 1.5.0 Small companion board for Prntr Board V1
๐Ÿ’š Malyan M200 V1 1.5.0
๐Ÿ’š Malyan M200 V2 1.5.0
๐Ÿ’š Prntr Board V1 1.5.0
๐Ÿ’š RemRam v1 1.4.0
๐Ÿ’š RUMBA32 1.5.0
๐Ÿ’š STEVAL-3DP001V1 1.6.0
๐Ÿ’š VAkE v1.0 1.6.0
Status LoRa boards Release Comment
๐Ÿ’š RAK811 LoRa Tracker 1.4.0 Basic support
๐Ÿ’š RHF76-052 1.7.0 Basic support
Status Sparky flight controllers Release Comment
๐Ÿ’š Sparky V1 1.6.0
Status Generic flight controllers Release Comment
๐Ÿ’š Afro Flight Rev5 (8/12MHz) 1.7.0
Status Midatronics Release Comment
๐Ÿ’š SharkyMKR 1.7.0

Next release

See milestones to have an overview of the next release content.

Troubleshooting

Important notice:

Currently stm32duino forum is down. Forum alternative is under investigation.

If you have any issue, you could file an issue on Github.

For question, support, ..., you could submit a topic on the stm32duino forum:

In any case, it always fine to search if your issue was not already existing before submit a new one.