🌐
GitHub
github.com › stm32duino › Arduino_Core_STM32
GitHub - stm32duino/Arduino_Core_STM32: STM32 core support for Arduino · GitHub
STM32 core support for Arduino. Contribute to stm32duino/Arduino_Core_STM32 development by creating an account on GitHub.
Starred by 3.3K users
Forked by 1.1K users
Languages   C 96.7% | CMake 0.8% | Assembly 0.6% | Linker Script 0.5% | C++ 0.4% | CSS 0.4%
🌐
GitHub
github.com › stm32duino
STM32duino · GitHub
April 28, 2026 - This org contains the Arduino core for STM32 MCUs, tools, documentation and libraries related to use ST products using Arduino tools - STM32duino
🌐
SourceForge
sourceforge.net › projects › arduino-core-stm32.mirror
Arduino core support for STM32 download | SourceForge.net
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.
🌐
PlatformIO
docs.platformio.org › en › latest › platforms › ststm32.html
ST STM32 — PlatformIO latest documentation
By default, official STM32Duino core is used (except cases when a board supports only one specific core). Some of the boards support all three cores. To change the core you can use a board_build.core option that needs be added to build_flags: An example of “platformio.ini” (Project ...
🌐
GitHub
github.com › stm32duino › Arduino_Core_STM32 › wiki › Getting-Started
Getting Started · stm32duino/Arduino_Core_STM32 Wiki · GitHub
July 22, 2024 - STM32 core support for Arduino. Contribute to stm32duino/Arduino_Core_STM32 development by creating an account on GitHub.
Author   stm32duino
🌐
Arduino
arduino.cc › reference › en › libraries › stm32duino-examples
STM32duino Examples - Arduino Reference
March 12, 2023 - Provides several examples for the Arduino core for STM32 MCUs.
🌐
GitHub
github.com › stm32duino › Arduino_Core_STM32 › wiki › API › 7e2bff2b6e389ead15c6a809d761dc02a5967576
API · stm32duino/Arduino_Core_STM32 Wiki · GitHub
STM32 core support for Arduino. Contribute to stm32duino/Arduino_Core_STM32 development by creating an account on GitHub.
Author   stm32duino
Find elsewhere
🌐
GitHub
github.com › stmduino › Arduino_Core_STM32
GitHub - stmduino/Arduino_Core_STM32: STM32 core support for Arduino · GitHub
STM32 core support for Arduino. Contribute to stmduino/Arduino_Core_STM32 development by creating an account on GitHub.
Author   stmduino
🌐
GitHub
github.com › stm32duino › Arduino_Core_STM32 › releases
Releases · stm32duino/Arduino_Core_STM32
STM32 core support for Arduino. Contribute to stm32duino/Arduino_Core_STM32 development by creating an account on GitHub.
Author   stm32duino
🌐
Arduino
docs.arduino.cc › libraries › stm32duino-examples
Arduino
The Arduino environment can be extended through the use of libraries. Libraries provide extra functionality for use in sketches. To use a library in a sketch, select it from Sketch > Import Library.
🌐
Arduino for STM32
stm32duino.com › board index › arduino for stm32 › cores › stm32 core › installation and os related
STM32 core installation - Arduino for STM32
December 19, 2019 - Everything relating to using STM32 boards with the Arduino IDE and alternatives ... Here you can find the Getting Started page to install the STM32 Core: https://github.com/stm32duino/wiki/wiki/Getting-Started
🌐
GitHub
github.com › stm32duino › Arduino_Core_STM32 › wiki › Getting-Started_V1
Getting Started_V1 · stm32duino/Arduino_Core_STM32 Wiki · GitHub
July 22, 2024 - STM32 core support for Arduino. Contribute to stm32duino/Arduino_Core_STM32 development by creating an account on GitHub.
Author   stm32duino
🌐
Context7
context7.com › home › libraries › stm32duino/arduino_core_stm32
Arduino Core STM32 (stm32duino/arduino_core_stm32) | Context7
This project adds support for STM32 microcontrollers to the Arduino IDE 2.x, leveraging STM32Cube MCU Packages, CMSIS, and the GNU Arm Embedded Toolchain. - Latest version
🌐
PlatformIO Community
community.platformio.org › t › updated-stm32-arduino-core-to-the-latest › 29653
Updated STM32 Arduino Core to the latest - PlatformIO Community
September 17, 2022 - Hello, I have a question on how releases are managed: The Updated STM32 Arduino Core in platformio is at version 2.2.0. However the latest stm32duino core is v2.3.0 - released in June 2022 (GitHub - stm32duino/Arduino_…
🌐
Reddit
reddit.com › r/stm32 › relationship between stm32duino/arduino_core_stm32 and rogerclarkmelbourne/arduino_stm32?
r/stm32 on Reddit: Relationship between stm32duino/Arduino_Core_STM32 and rogerclarkmelbourne/Arduino_STM32?
September 15, 2019 -

I'm just getting started with a Blue Pill board flashed with an stm32duino bootloader from Universal Solder. I've been able to successfully upload blink examples to the board using both stm32duino/Arduino_Core_STM32 and rogerclarkmelbourne/Arduino_STM32. Now I'm wondering what the relationship between the two projects is. Are they completely independent? Is one a fork of the other? Do they borrow from each other? Are they built on completely different codebases or the same codebase? What are the differences between them, from a beginner's point of view?

Thanks.

Top answer
1 of 1
2

https://stm32duinoforum.com/forum/viewtopic_f_42_t_97.html

in case that link disappears here's an extract

List of cores currently available

Quote

Post by RogerClark » Fri May 08, 2015 4:46 am

Arduino STM32
https://github.com/rogerclarkmelbourne/Arduino_STM32

This is the main repo that people on this site are using. However its just one of a number of different "cores" that allow the Arduino IDE to compile for STM32.

Advantages

Works with Maple mini including being compatible with the Maple / USB bootloader

Works with IDE 1.6.3 +

Has a long history and most bugs have been sorted out.

Disadvantages

The original code was written in around 2011 and does not use STM's own standard headers and the Standard Peripheral Library. This means adding new hardware functions e.g. CAN Bus or I2S are harder as they need to be coded from scratch. (STM's own code was not available for F103 until the start of 2015)

Harder to port to other processors like the STM32F4 because all code needs to be written, rather than being able to use code written by STM

Arduino STM32 is a derivative of libmaple, (https://github.com/leaflabs/libmaple) which was first developed by LeafLabs for their Maple and Maple mini boards. LibMaple was written in 2012 and only supports the Arduino 0022 API (pre Arduino 1.0).

LibMaple and hence Arduino STM32 only support the STM32F103 series of processors, however various other groups have build modified versions, including the AeroQuad team who did a port of the original LibMaple to the STM32F4 processor
This is the port of LibMaple which is in the Arduino STM32 repo

There have been many other ports / updates to libmaple, but as far as I'm aware Arduino STM32 is the only one which is active at this time and supports the Arduino 1.0 API

MakerLabMe

https://github.com/MakerLabMe/STM32_Arduino_Cores

This appears to be a totally independent implementation of an STM32 core for the Arduino IDE.
I did try to contact the author in December 2014 but didn't get a response.
But there does appear to be recent work in this repo.

This code seems to use code from ARM holdings and not specifically code from STM.
The license on these files is unclear

One advantage that I can see is that perhaps the F4 core provides Arduino 1.0 API support

Unfortunately it looks like last download is targeted at Arduino 1.5.8, and the only STM32F103 boards that are listed are produced by MakerLabMe

I'm sure it would be possible to build variants and change the boards.txt to support other generic boards.
I will need to do a test build as they boards seem to have support for USB, but I'm not sure how that works.

Koduino

https://github.com/avikde/koduino

Koduindo is written by Avik De. Its another independent core, but draws some ideas from libmaple.

Advantages

Uses headers and c code from STM themselves (CMSIS and STD Peripheral Libs)

Should be easier to port to other STM32 processors and add new hardware e,g, CAN and I2S etc

Disadvantages

Currently only supports one custom STM32F103 board built by Avil

API doesnt seem to be totally standard (see below about compile issues)

I have tried to build some standard example sketches using, Koduino, however I have found a number of problems, and a lot of things don't compile due to small differences in the API that Koduino uses and the Arduino API, this seems to mainly be arguement types, but at the moment things like

digitalWrite(PA0,!digitalRead(PA0));

won't compile

Updated June 2017

STM Core boards
https://github.com/stm32duino

STM have produced an Arduino Core, which now supports multiple MCUs in the STM32 family of products.

See https://github.com/stm32duino/Arduino_Core_STM32

The core is based on the STM HAL, and can be installed either using the files from github or via a Boards Manager package

Advantages

Uses the STM HAL, so it should possible to port to most STM32 MCU's

Uses the STM HAL, so addition of libraries for advanced functions like SDIO should be easier than writing them from scratch

Built by professional developers (Wi6Labs), against the latest Arduino spec

Disadvantages

Probably uses more RAM and Flash usage than non HAL cores (i.e much more than LibMaple)

Not available for GD32 boards, because of the usage license on the STM HAL (though may work in practice)

STM32 GENERIC by @danieleff

https://github.com/danieleff/STM32GENERIC

Generic implementation of Arduino for STM32 boards

This core also uses the STM HAL, but the structure and architecture of the core differs from STM's implementation.Last edited by RogerClark on Mon Sep 26, 2016 4:49 am, edited 1 time in total.

TLDR:

Roger Clark's version: older, based on libmaple (from leaflabs), unofficial Arduino port, has some nice features/libraries currently missing in the official Arduino port

Stm32duino version: newer, based on HAL (from STM), official Arduino port, actively developed and maintained, probably recommended any new development

Related

https://stm32duinoforum.com/forum/viewtopic_f_16_t_4483.html

https://stm32duinoforum.com/forum/viewtopic_f_16_t_4540.html

Original forum (currently down):

https://stm32duino.com

Maintained by related other members of the original forum

https://mcu.selfip.com/

https://stm32duinoforum.com

🌐
Arduino Forum
forum.arduino.cc › projects › general guidance
Getting Started with STM32 Nucleo-64 (STM32F103) using Arduino IDE - General Guidance - Arduino Forum
August 7, 2023 - Getting Started with STM32 Nucleo-64 (STM32F103) using Arduino IDE getting started with STM32 Nucleo-64 Development board using STM32CuleIDE. The STM32 Nucleo-64 board, powered by the STM32F103 microcontroller, is an ex…
🌐
Gitlab
stm32python.gitlab.io › en › docs › Stm32duino › installation
Installation of Stm32duino
To be able to use your STM32 with Arduino environment, you have to install the STM32CubeIDE tool.
🌐
Instructables
instructables.com › circuits › microcontrollers
Getting Started With Stm32 Using Arduino IDE : 3 Steps - Instructables
August 16, 2019 - Getting Started With Stm32 Using Arduino IDE: STM32 Is quite powerful and popular board supported by Arduino IDE. But to use it you need to install the boards for stm32 in Arduino IDE so in this instructables i'll tell how to install stm32 boards and how to program it.