are there stm32 microcontrollers able to run entirely on free software?
- Inicie sesión ou rexístrese para enviar comentarios
Are there stm32 microcontrollers able to run entirely on free software? If so which are they? User case is running a betaflight flight controller. Thanks.
https://github.com/betaflight/betaflight
I got aware of this link
https://github.com/libopencm3/libopencm3/wiki/Status
I thought I saw something like that being sold on crowdsupply at one point if that helps.
I have a crowdsupply account so I sometimes receive offers/information for things that might be coming.
You are not complying with the rules on this forum.
Get out of this forum.
That's high praise
Yeah, I don't know why you thought I understood what you were being angry about.
In this thread, I didn't think you'd be offended by the whole crowdsupply mention. I honestly didn't consider you would consider that non-free. Sorry... If you would like I can directly pinpoint the project in question. But just know, I am not going to bow before you and do whatever you want.
Anyways, that's my last comment in this thread here hopefully.
I have been told no stm32 mircrocontroller is able to run entirely on free software. Apparently all stm32 microcontrollers require running a non free software boot loader.
Hmm... that explains why you are asking this question.
Well, its possible the crowdsupply link I was going to give doesn't take this into account...
Nevermind, forget I said anything.
You could very well be right
Having worked myself with STM32 in the past, I do not recall having to rely on non-free software, or the existence of a non-free bootloader. Could you please provide details about such bootloader?
> Could you please provide details
No. I used the word apparently because I was not sure if my claim is correct. On a forum I asked if there are stm32 microcontrollers which require no non free software in order to work? Several answers indicated ignorance about what free software is. One answer said stm32 microcontrollers have bootloaders which partly are non free software. Because computers often have non free software bootloaders I relayed that answer here. Probably because I was told the raspberry pi pico 2 requires no non free software in order to work and betaflight supports the rp pico 2 I did not look closer into if stm32 microcontrollers have non free software implications? https://www.betaflight.com/blog/2025/10/10/RP2350%20Lands%20in%20Betaflight
> One answer said stm32 microcontrollers have bootloaders which partly are non free software.
AFAIK microcontrollers like the STM32 family allow users full control over the on-chip flash memory, which means the existence of a bootloader is completely up to the user. Therefore, it is always possible to wipe the flash memory entirely, and only flash the user firmware.
OTOH as I said I have worked in professional projects involving STM32 microcontrollers and I was able to rely on free software only.
However, mind that STElectronics sometimes distribute hardware abstraction libraries under non-free licenses. In the past, I have seen libraries being distributed with clauses such as "for use in real ST hardware only".
> worked in professional projects involving STM32 microcontrollers
I know little about microcontrollers.
> existence of a bootloader is completely up to the user. Therefore, it is always possible to wipe the flash memory entirely, and only flash the user firmware.
It is not required that a microcontroller runs a bootloader in order to work? Or did you use a free software bootloader you know of?
> I know little about microcontrollers.
Then I believe STM32 might not be the friendliest choice. For starters, I would rather recommend the good old Arduino UNO (or any unbranded, compatible board) due to its simplicity. Everything in the Arduino UNO is free (as in freedom), including hardware, and there are lots of documentation and libraries available.
Once you get the grasp the basic stuff, switching to the STM32 is a more reasonable idea.
> It is not required that a microcontroller runs a bootloader in order to work?
Generally speaking, microcontrollers do not require a bootloader to work. Usually, they start running from a fixed memory address that can be part of the user firmware. AFAIK this is the case for STM32 as well.
Bootloaders are instead required when the user firmware must be updated from sources other than via JTAG/SWIM/whatever, like a serial port or over-the-air (OTA) upgrades via Bluetooth/WiFi/whatever.

