cancel
Showing results for 
Search instead for 
Did you mean: 

Is STM8 recomendded for beginners?

rabbi141
Associate

I have experience with PIC and AVR microcontrollers, but they lack the good debug features of the STM8 series. Furthermore, these microcontrollers aren't cheap. While looking for simple and inexpensive chips, I keep coming across the STM8 series.

Mastering a new microcontroller takes time. I'm confused about learning the STM8 because STMicroelectronics is recommending their STM32 series, which uses the ARM Cortex-M core. This recommendation makes me wonder if investing time in the STM8 is a good idea, or if it would be better to learn the more widely-supported and future-proof STM32 family.

 

1 ACCEPTED SOLUTION

Accepted Solutions
Peter BENSCH
ST Employee

Welcome @rabbi141, to the community!

The STM8 and their tools are already very old, all date from the last millennium and are actually only useful for projects that are already running.

In fact, the STM32 mentioned are the much more modern MCUs, where you can look at one of the STM32C0 for simple applications, for example.

A warning in passing: questions regularly arise here in the community about so-called Blue Pill boards not working as desired. For years, only incompatible clones have been used for these products from Asian manufacturers.

If you want to start with a ready-made and 100% functional and supported board, I recommend one of the NUCLEO boards, e.g. a nice and cosy NUCLEO-32each of which also contains an ST-LINK debugger.

Hope this helps?

Good luck
/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

10 REPLIES 10
Peter BENSCH
ST Employee

Welcome @rabbi141, to the community!

The STM8 and their tools are already very old, all date from the last millennium and are actually only useful for projects that are already running.

In fact, the STM32 mentioned are the much more modern MCUs, where you can look at one of the STM32C0 for simple applications, for example.

A warning in passing: questions regularly arise here in the community about so-called Blue Pill boards not working as desired. For years, only incompatible clones have been used for these products from Asian manufacturers.

If you want to start with a ready-made and 100% functional and supported board, I recommend one of the NUCLEO boards, e.g. a nice and cosy NUCLEO-32each of which also contains an ST-LINK debugger.

Hope this helps?

Good luck
/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
haimanTheSTM8
Associate

In my opinion. I would say that investing your time and effort for the STM8 is a great idea. here's why:

 

The STM8 not use a specific core like his brother STM32. he use the classic CISC architecture making your journey of understanding it is worth it. I also use the STM8, specifically STM8L101K3T3. beside CISC architecture there are RISC architecture. both have their pros and cons. but it all the same. we all know the technology growth so fast past few years. to undertand all register of STM32N657X0 is absolutely amazing but to build fundamental concept is also essential is more preferable. it all build with transistor. i bit data is stored using some gate called latch. continue to combine them you get memory. "the computer has no standard". "if there's 100 company there will be 101 different architecture". all that is positive. keep up the good work @rabbi141 and STMicroelectronics!


@haimanTheSTM8 wrote:

The STM8 not use a specific core like his brother STM32. 


What do you mean by that?

Of course it is a specific core - also a proprietary one.

 


@haimanTheSTM8 wrote:

"the computer has no standard". "if there's 100 company there will be 101 different architecture". 


That, surely, is an advantage for STM32 - instead of yet another proprietary architecture (like STM8), it uses the industry-standard Cortex-M.

Apart from the hardware, there's also the tools to consider.

This recent example suggests that the tooling is not up to modern standards.

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
Andrew Neil
Super User

As we're waking up this old thread ...

 


@rabbi141 wrote:

I have experience with ... AVR microcontrollers, but they lack the good debug features of the STM8 series.


Not sure that you mean by that?

AVRs certainly have good on-chip debug ...

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
whitehorsesoft
Associate III

I'll throw in a comment on this old thread. My opinion: for anything other than hobby/training projects, STM8 will only have price / power profiles in its favor. It will be more difficult to spin up projects with, find documentation for, and collaborate with on a team.

And, since you mentioned debug features, it's very hard to beat the step/breakpoint experience that comes with STM32 chips and STM32CubeIDE.

But for a hobby/training project, I would recommend STM8 for the "bare metal" experience. Meaning, assembly programming and actually using the ISA. You can carry around most of the instructions in your head, and in my opinion the assembly is cleaner than corresponding C syntax. You won't be using complex procedures, there's simply no room for it. You're forced to be simple, but that's part of the beauty. If it sounds interesting, I'd especially recommend https://shop-pdp.net/ashtml/asmblr.htm, verified it works with STM8S003.


@whitehorsesoft wrote:

 It will be more difficult to spin up projects with, find documentation for, and collaborate with on a team.


I think that's probably right.

So, in that light, I don't follow the reasoning here:


@whitehorsesoft wrote:

But for a hobby/training project, I would recommend STM8 for the "bare metal" experience. .


Surely, something like AVR would be more appropriate here - as it has far wider support ?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

I don’t agree with you that you should switch to STM32 just because it’s modern. The fact is that I have a simple task: to use 1 pin to read an analogue signal, 2 pins to read digital signals, and 1 pin to write a digital signal. Therefore, I don’t see the point in overpaying $1 for STM32, which is 3 times larger than STM8 (if we compare the blue pill), and in which more than half of the pins will remain free. But to solve such a simple task, I didn’t even find an example of working with an ADC without interruptions in PlatformIO  and SPL examples. I spent 2 weeks of my precious time trying to program STM8 using AI, and it was a waste of time. Therefore, I’m returning to Arduino Mini Pro, where I have a lot of experience. And by the way, I will continue to look for cheap Chinese microcontrollers for simple tasks that will have good support and programming documentation. STM32 is a great solution for more complex tasks, but you need to have a solution for simpler tasks or delete the entire database and references to what you once had and could not bring to perfection.

@Rombersoft Thank you for your thoughts!

Well, of course, everyone can stick with their familiar environment and continue using the devices they know. However, this thread was about comparing STM8 to STM32.

When it comes to programming with AI, it should be noted that, depending on the AI engine used and, above all, on a well-formulated prompt, some interesting programming ideas can be generated, but these still need to be carefully evaluated and, if necessary, adjusted. However, I do not know whether there is actually enough material (in the form of source code) for the LLM of the current AI for the already very old STM8 family, which is ultimately a prerequisite for a meaningful proposal. Therefore, I am not at all surprised that you did not get anywhere with it. Nevertheless, the STM8 is just as easy to understand and program as other 8-bit MCUs – once you have read and internalised the reference manuals and data sheets.

As for the STM32, there are some interesting and extremely affordable derivatives in SO-8 packages for your application with, for example, 4 GPIOs with mixed functions:

Perhaps you will find a suitable derivative among them?

Regards
/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

@Rombersoft wrote:

I don’t agree with you that you should switch to STM32 just because it’s modern..


That's rather a disingenuous take on what @Peter BENSCH said.

The point was that the STM8 tools are old, and not up to modern standards.

 


@Rombersoft wrote:

But to solve such a simple task, I didn’t even find an example of working with an ADC without interruptions in PlatformIO  and SPL examples. I spent 2 weeks of my precious time trying to program STM8 using AI, and it was a waste of time. .


Which was exactly the point: the STM8 is very "niche" - it doesn't have the level of support of "mainstream" lines like STM32.

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.