Microcontroller Selection [Why ARM (STM32) should be chosen even for electronic work]

Various types of microcontrollers

A wide variety of MCUs are available from many manufacturers, including 8-bit DIP types (with many metal connection terminals extending downward) and 32-bit surface-mount types, with varying levels of performance and price.

There is no easy answer to which of these to choose, but one way is to select a MCU that is suitable for the direction you are trying to take. If you only want to do relatively simple MCU electronics work, an 8-bit MCU is sufficient. If you want to develop serial communication, industrial motor drives, or even IoT in the future, you will probably need a high-performance MCU.

Various types of MCUs

MCU with ARM Cortex-M3 core

If you are interested in MCU and learning MCUs while doing electronic work, we strongly recommend that you start with ARM cores, which have a large share of the embedded system market. When seeking a place to work after acquiring embedded skills, there are possibilities in world wide, as ARM cores are the global standard.

In this site, we have selected MCUs that have performance that will not be inadequate for the future and that have potential for future development in consideration of these examples. These MCUs are ideal not only for applications in various industrial fields, but also for hobbyists who want to try their hand at various technologies (communication, motor control, etc.).
(The course is designed to be easy to learn, but once you have mastered the technology, it is easy to apply it to other areas of your life.)

The MCUs featured on this site are MCUs with ARM's Cortex-M3 core built in, and you have probably heard of ARM at least by name. While Intel's cores remain strong in the PC world, ARM cores not only dominate the smartphone and tablet world, but also hold a large share of the embedded device market.

If you are going to enter the embedded world and learn MCUs, it is naturally advantageous to learn the ARM core, which is mainstream. When looking for a place to work after acquiring embedded skills, the skills to work with the ARM core, which is the global standard. Although the MCUs actually used in business will often be other types, the ARM core is not a special architecture, so there will be no problem in transitioning to other MCUs if you have acquired sufficient basics of development with this MCU.

The point

Among ARM cores, this site uses STM32 series MCUs from STMicroelectronics with Cortex-M3 core because they are the most informative among the ARM MCUs. There are high-performance models such as the STM32F4 series with a Cortex-M4 core, but we believe that the base model STM32F1 series is the best choice for an introduction to ARM MCUs.


The STM32 MCU is a sophisticated and high-performance MCU that is too much for beginners and novices who want to acquire embedded skills, but don't worry. This site picks up the important points while explaining them, so although it requires effort, you can learn the basics efficiently, and once you have mastered the basics, you will be able to use it for any MCUs.。


Firmware library

When developing MCUs handled by ST (STMicroelectronics), there is a great deal of information that is desired, including worldwide, and the firmware library and development environment tools are provided free of charge. This makes it easy to update to the latest development environment if necessary.

Firmware is a library that can be used in the C programming language to compile a well-shaped set of registers that operate and set various functions of a MCU so that only the tasty parts can be used, so to speak, without awareness of the registers. It is also called a device driver.

With firmware, all you have to do is write the necessary functions, e.g., baud rate, which is a setting parameter for serial communication functions, according to the firmware's rules. The parameters are set in registers inside the firmware.

The various registers are described in detail in the reference manual of the MCU, but I think it would break one's heart unless one is very skilled in programming to understand and program the properties and functions of the registers by one's own efforts. It is true that there are some people who can directly set registers without relying on firmware, but I doubt that many of them can do it.

Use what is convenient and available, which also applies to this firmware library (device driver). The important thing is to proceed with some understanding.

However, if you have some basic knowledge and are comfortable, you can follow the contents of the firmware library to better understand the function of the registers. Also, since the firmware library was created by professional programmers, tracing and understanding the contents of the firmware library will be helpful in improving your programming skills.

I digress to the firmware library, but I think that the STM32 has a wealth of information to support development, so it is unlikely that you will be the only one who will have to worry about it and not be able to proceed.

The MCUs employed are highly functional and therefore have many settings, but you can select the ones that best suit your needs. Once you have mastered the on-board functions, you will be able to apply them to almost any application, which means you will be able to use them to your advantage.
So let's get our hands on an STM32 series MCU and enter the world of embedded systems.

"Why I recommend STM32Nucleo instead of Arduino for beginners in MCU learning" explains the advantages of using the MCU teaching materials employed on this site.

About the names of companies and products mentioned on this website:
Company and product names mentioned herein are generally registered trademarks or trademarks of the developing manufacturers. The ™ ® © designations are not indicated in the text.

Follow me!