Skip to content

Repository files navigation

Arduino core support for STM32 based boards

GitHub releaseGitHub All ReleasesGitHub commitsBuild 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

StatusNucleo 144ReleaseComment
💚Nucleo F207ZG0.2.0
💚Nucleo F429ZI0.1.0
💚Nucleo F767ZI1.4.0
💚Nucleo L496ZG1.3.0
💚Nucleo L496ZG-P1.3.0
💚Nucleo L4R5ZI1.4.0
💚Nucleo L4R5ZI-P1.4.0
💚Nucleo H743ZI(2)1.5.0Nucleo H743ZI2 since 1.6.0
StatusNucleo 64ReleaseComment
💚Nucleo F030R80.2.0
💚Nucleo F091RC0.1.0
💚Nucleo F103RB0.2.0
💚Nucleo F302R81.1.0
💚Nucleo F303RE0.1.0
💚Nucleo F401RE0.2.1
💚Nucleo F411RE0.2.1
💚Nucleo F446RE1.1.1
💚Nucleo-G071RB1.6.0
💚Nucleo-G431RB1.7.0
💚Nucleo-G474RE1.7.0
💚Nucleo L053R80.1.0
💚Nucleo L073RZ1.4.0
💚Nucleo L152RE1.0.0
💚Nucleo L452RE1.5.0
💛Nucleo L452RE-P1.8.0
💚Nucleo L476RG0.1.0
💚P-Nucleo-WB55RG1.6.0No BLE support
StatusNucleo 32ReleaseComment
💚Nucleo F303K81.1.0
💚Nucleo-G431KB1.7.0
💚Nucleo L031K61.1.1
💚Nucleo L412KB1.5.0
💚Nucleo L432KC0.2.0
StatusDiscoveryReleaseComment
💚32F0308DISCOVERY1.3.0
💚32F072BDISCOVERY1.5.0
💚STM32VLDISCOVERY0.2.1
💚STM32F407G-DISC10.1.0
💚STM32F746G-DISCOVERY0.1.0
💚B-L072Z-LRWAN11.1.0
💚B-L475E-IOT01A1.0.1
StatusEvalReleaseComment
💚STEVAL-MKSBOX1V1 (SensorTile.box)1.7.0
StatusGeneric STM32F0xxReleaseComment
💚STM32F030F4 Demo board1.5.0
StatusGeneric STM32F1xxReleaseComment
💚BluePill F103C(6-8-B)1.2.0USB 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)T61.7.0Blue Button
💚HY-TinySTM103T1.5.0
💚MapleMini F103CB1.2.0USB CDC support since 1.5.0, Maple bootloaders support since 1.6.0
StatusGeneric STM32F3xxReleaseComment
💚RobotDyn BlackPill F303CC1.6.1
StatusGeneric STM32F4xxReleaseComment
💛Adafruit Feather STM32F405 Express1.8.0
💚BlackPill F401CC1.7.0
💚Black F407VET61.4.0VG/ZE/ZG in 1.5.0
💚Blue F407VET6 Mini1.4.0
💚Core Board F401RC1.7.0
💚DIYMORE STM32F407VGT1.5.0
💚FK407M11.5.0
StatusGeneric STM32L0xxReleaseComment
💛ThunderPack1.8.0
Status3D printer boardsReleaseComment
💚ARMED V11.5.0
💚EExtruder F030 V11.5.0Small companion board for Prntr Board V1
💚Malyan M200 V11.5.0
💚Malyan M200 V21.5.0
💚Prntr Board V11.5.0
💚RemRam v11.4.0
💚RUMBA321.5.0
💚STEVAL-3DP001V11.6.0
💚VAkE v1.01.6.0
StatusLoRa boardsReleaseComment
💚RAK811 LoRa Tracker1.4.0Basic support
💚RHF76-0521.7.0Basic support
StatusElectronic Speed Controller boardsReleaseComment
💛Wraith V1 ESC1.8.0
StatusGeneric flight controllersReleaseComment
💚Afro Flight Rev5 (8/12MHz)1.7.0
💚Sparky V11.6.0
StatusMidatronicsReleaseComment
💚SharkyMKR1.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.

About

STM32 core support for Arduino

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages