Should You Look Down on Arduino When Using STM32?

Which is more powerful, Arduino or STM32? Many electronics enthusiasts face a dilemma when choosing between Arduino and STM32, unsure of which to use. Arduino has always been popular, but STM32 has more interfaces, stronger performance, and is faster.

Features of Arduino and STM32

Arduino:

Should You Look Down on Arduino When Using STM32?

Arduino tends to focus on creativity, simplifying specific hardware operations. Its functions and syntax are very simple and quite “foolproof.” Most Arduino boards use AVR microcontrollers, and Arduino’s advantages lie in its high code encapsulation, requiring fewer statements, thus reducing software development difficulty. Arduino is relatively easy to get started with; anyone with a basic understanding of hardware and C++ can develop applications. Most functions in Arduino come with well-prepared libraries, making it easy to use, but it has poor controllability for slightly more complex functionalities.STM32:

Should You Look Down on Arduino When Using STM32?

For applications requiring computation or control, STM32 is the better choice. If you buy a development board for STM32, you need to start learning from the hardware level and understand its various details. STM32 focuses more on practical engineering; in fact, many simple instruments in factories, such as temperature controllers, ordinary motor controllers, low-end PLCs, and some consumer toys like game controllers and wired keyboards/mice, as well as POS machines in school cafeterias, are widely used. STM32 is primarily designed for professional developers, requiring certain expertise, but writing code to implement functions can be relatively complex. For instance, outputting a simple string via serial communication might take 10 lines of code in Arduino, but with STM32 development tools like Keil, it could require hundreds of lines of code or more.

Comparison of Arduino and STM32

Arduino has many versions, each with different features. Taking the most common Arduino UNO R3 as an example, its controller is an AVR 138 microcontroller, which is not on the same performance level as STM32. In some respects, it is similar to the STC12 series from Macrochip (only in terms of computation). The Arduino MEGA 2560 is considered the leader among Arduino MCUs, with rich interfaces, and should be comparable to the STM32F1 series, but it has a higher power consumption and the chip heats up significantly, while the similarly packaged STM32F1ZET6 only gets slightly warm, and in cooler environments, it may not feel warm at all. Based on the different characteristics of both, we can compare their applications: in terms of ease of learning, Arduino is much easier than STM32. The basic programming paradigm required: Arduino uses an object-oriented approach similar to C++ and Java, with a language based on C but somewhat unorthodox. In contrast, STM32 primarily uses standard C language for development. The knowledge gained after learning: Arduino is weaker than STM32 because Arduino encapsulates many low-level operations. Unless you attempt to write libraries for Arduino and its accompanying circuit modules yourself, you will only be at the basic programming level.

In terms of open-source capabilities: Things made with STM32 can be made open-source if desired; if not, nothing needs to be disclosed. Ease of building external circuits: Arduino is much easier than STM32. Expandability: Arduino and STM32 are comparable; Arduino essentially exposes most of the controller’s pins.

Cost, assuming the creation of devices with the same functionalities: Arduino is more expensive than STM32.

In Summary

If you’re still unsure how to choose, here are some suggestions:

  • If you are a general student with limited programming language knowledge, it is recommended to start with Arduino.

  • If your C foundation is weak, starting with STM32 may quickly lead to frustration.

  • If you are learning for employment, go for STM32 microcontrollers.

  • If you are learning just for fun, are not from an electronics background, and lack confidence, Arduino is the way to go.

  • If you have a good programming foundation, go for STM32. Once you master it, you can easily see how to implement things done in the Arduino open-source community using STM32.

  • Of course, if you have the capability, try both. Generally, you can grasp the basic features of Arduino in less than a week, and later, if needed, you can easily port Arduino code to STM32 or other MCU platforms.

In fact, these two platforms target slightly different directions; Arduino is generally chosen by electronics enthusiasts and DIYers, while STM32 is often used in the research and manufacturing of actual products. However, the Arduino series now also supports STM32 chips; you can program using the Arduino development environment after downloading the Arduino firmware. It is most important to choose what suits your project type and needs.

Leave a Comment

Your email address will not be published. Required fields are marked *