I'm quite a fan of the STM32G030x6/x8
"line" since it is small and fits most of (my) needs as a more modern replacement to the Arduino platform built around the 8-bit Atmel/Microchip micros.
However when it comes to developing software for it, I'm struggling a little bit because my goal is to have a small bunch of files which can be easily compiled and do not depend on many "tools". And currently I don't know how to achieve it.
With the ATMega328 (Arduino Uno) I just create some C- & H-files, write my code and it compiles then. My experience with the STM32xxx is that it is much more complicated:
- Using CubeMX there are two ways for "small projects" but the resulting project consists of many files and loads of comments inside the files which makes up for a feeling of a humongous file and the API documentation is not that great, approx. 4 MB+ in size
- Using HAL, and toolchain "Makefile"
- Using LL, and toolchain "Makefile"
- Using libopencm3 the documentation is better, it has much more files, approx. 17 MB+ for an empty, compiled project, but it contains many unused stuff (not in the final build obviously) and getting it to compile is not that easy (depends on how well you know Makefiles) for example in a easy folder-based environment
- Using tinygo the development environment is nice but the documentation is not that great yet (for example: try to find out how to set a specific GPIO pin) and it seems that it more targeted at a DIY/Maker users which have not a deep knowledge in C or don't want to mess with it so the API is created much more high-level
Does anybody know of simpler alternatives?