Description
See https://docs.platformio.org/en/latest/platforms/ststm32.html#switching-between-arduino-cores
There are three different Arduino cores for STM32 microcontrollers: STM32Duino, Arduino STM32 (maple) and STM32L0. All of them have been developed independently, therefore, have different functionality and set of internal libraries. By default, official STM32Duino core is used
STM32Duino is not the name of the official Arduino core but the name of the Github account where it is hosted.
The correct name of the official core supported by ST is 'Arduino Core STM32'.
Unfortunatly naming of Arduino cores for the STM32 over time has been rather messy and confusing:
- stm32duino is the name of the Github account where the repository for the official 'Arduino Core STM32' core is hosted.
- www.stm32duino is the url of the 'Arduino STM32' forum.
- STM32duino-bootloader is a bootloader by and for rogerclarkmelbourne's 'Arduino STM32' core.
_But this bootloader is not for the official 'Arduino Core STM32' core.
Overview of current STM32 cores and their Github accounts:
Name of Arduino core | Name of Github account | Remarks |
---|---|---|
Arduino Core STM32 | stmduino | This is the official core supported by ST |
Arduino STM32 | rogerclarkmelbourne | Older, Maple based core for STM32F1 and STM32F4 only |
Arduino Core STM32L0 | GrumpyOldPizza | Special for STM32L0 only (targeted at low-power LoRaWAN) |
For someone unaware of the details: "Oh, Arduino Core STM32 and Arduino STM32 is probably the same Arduino core right?" No!
To make the naming even more confusing:
On the 'Arduino for STM32' (stm32duino) forum:
- 'Arduino Core STM32' is called 'STM32 Core' and
- 'Arduino STM32' is called 'LibMaple'
Really?...
Please use the correct Arduino core names.
For the official supported Arduino core use its correct name 'Arduino Core STM32' but not STM32Duino.
For consistency let's please use the correct (exact) Arduino core names and prevent any more confusion.
The names of the 'Arduino Core STM32' and 'Arduino STM32' cores are very similar while the cores are different. So be it. But better use the real names of the cores than having everyone come up with different incorrect alternatives.
'Arduino Core STM32', not STM32Duino and not 'STM32 Core'.
'Arduino STM32', not maple or LibMaple.
And also be similarly consistent with names used for the board_build.core options.