Using STM32 MCUs

Hi, I recently have been interested in trying out some 32-bit MCUs. I wanted TO TRY STM32, but I am not sure how to pick the right chips for platformIO.
If I want to buy a bare chip, say from the F0 low power series, and program it with an stlink v3.
Does platformIO support all chip choices? there are so many stm32 chips in each series, I dont know where to start to determine their differences in term of registers and what is cross compatible when writing code!

Does this help, lots to choose from: Search — PlatformIO latest documentation

Well, lots of boards at least.


Ok my OP might have been a little broad. Lets say I buy the stm32F0DISCOVERY

kit which I know is on platformIO, can I use this discovery kit as a programmer to program other chips from the F0 series, I cannot find the exact chip on this discovery kit in the digikey catalog…(

You mean this one?

yeah ok RIP me I found it, I dont know what happened last time… Thanks!
So I am confronted with this dilemma:
either I start working with this chip from the F0 series, which is great because its low power, what I am interested in, but it cannot run with the arduino framework, so using stmcube or mbed OS means a steaper learning curve and longer development time to implement libraries for external components (rtc, tft screen, …)
I can go with the F303 chip (the one in the blue pill) which I can use arduino code with on platformIO… It also costs a little extra per chip (almost 8$CAN each). That means I would have to buy a st link programmer, f303 chips and a blue pill devkit.

Which option should I choose? is it much longer to work from mbed than arduino? I couldnt even make a single library work with my F413zh devboard (my only stm32 product as of now)!!

STM32F103 is the Bluepill (with C8 or CB at the end for 64kB / 128 kB flash and T6 for the LQFP package).

Adding support for a STM32 chip in STM32Duino isn’t that hard – well documented indeed. Also another STM32 board is already supported (GitHub - stm32duino/Arduino_Core_STM32: STM32 core support for Arduino) – how well it is supported in terms of e.g. a CAN library is another question that must be looked at per-library.

On the other hand, mbed-os isn’t that hard, too, depending on what exactly you want to do. Their documentation is done really well with lots of examples and intuitive use (see e.g. CAN hello world). And since the chip is natively supported in mbed-os, you should also expect less problems then with porting Arduino core support for it – so I’d personally go with mbed-os.

1 Like

I’ll go with mbed. You had me with the efficiency/reliability argument