The comparison of performance between Arduino and STM32: who is more powerful? Many electronics enthusiasts face a dilemma when deciding between Arduino and STM32, not knowing how to choose. Arduino has always been in a hot state, but does STM32 have more interfaces, stronger performance, and faster speed?
Features of Arduino and STM32
Arduino:
Arduino is more inclined towards creativity, it weakens the operation of specific hardware, its functions and syntax are very simple and very “fool-proof”. Most Arduino main controls are AVR microcontrollers, and Arduino’s advantages lie in its high code encapsulation, fewer required statements, and reduced software development difficulty. Arduino is relatively easy to get started with; as long as you understand a little hardware and C++, you can develop. Most of the functions of Arduino have well-prepared libraries, so it is very simple to use, but for slightly more complex functions, the controllability is relatively poor. STM32:
For applications with computational or control requirements, STM32 is a better choice. If you buy a development board for STM32, you have to start learning from the hardware level and master its various details. STM32 focuses more on engineering practice; in fact, many simple instruments in factories, such as temperature controllers, ordinary motor controllers, low-end PLCs, and some toys, game controllers, wired keyboards and mice in civilian use, and POS machines in university cafeterias are widely used. STM32 is mainly for professional developers to create products, requiring a certain level of expertise, but simultaneously writing code to achieve functions is relatively complex. For example, outputting a simple string via serial port may take just 10 lines of code for Arduino, but if using STM32’s development tools like Keil, it may require hundreds of lines of code or more.Comparison of Arduino and STM32
Arduino has many versions, and their features are not consistent. If we take the most common Arduino UNO R3, its controller is the AVR 138 microcontroller, and its performance is not on the same level as STM32. This model is somewhat similar to the STC12 series from Holtek (only in computation). The Arduino MEGA 2560 is considered the leader among MCU versions of Arduino, with rich interfaces, which should be comparable to the STM32F1 series, but it has relatively high power consumption and the chip heats up significantly, while the same package of STM32F1ZET6 only has slight warmth, and in low ambient temperatures, it may feel like there is no temperature. Based on the different characteristics of the two, we can compare them according to different applications: In terms of ease of learning: Arduino is much easier than STM32. Required basic programming concepts: Arduino: primarily object-oriented C++ and Java-like, its language is based on C but has some differences. STM32 mainly uses standard C language as its development language. Knowledge gained after learning: Arduino is weaker than STM32. This is because Arduino encapsulates many low-level operations. Unless you attempt to write Arduino and supporting circuit module libraries yourself, you will only remain at the basic programming level.
In terms of openness: what you create with STM32 can be open-sourced if you want, or you can choose not to disclose anything. Difficulty of building external circuits: Arduino is much easier than STM32. Expandability: Arduino and STM32 are comparable, Arduino basically exposes most of the controller’s pins.
Cost, assuming you create something with the same functionality: Arduino is more expensive than STM32.
In summary
If you still don’t know how to choose, here are some suggestions:
-
If you are an ordinary student below the university level with little knowledge of programming languages, it is recommended to start with Arduino.
-
If your C foundation is weak, jumping straight into STM32 will quickly make you think of giving up.
-
If you are learning just for employment, go for STM32 microcontrollers.
-
If you are learning just for fun, are not from an electronics background, and lack confidence, it is recommended to use Arduino.
-
If you have a good programming foundation, it is recommended to choose STM32. Once you master it, you can see what the Arduino open-source community has done, and easily accomplish it with STM32.
-
Of course, if you have the ability, you can try both; generally, within a week you can master the basic features of Arduino, and later, if needed, you can easily port Arduino code to STM32 and other MCU platforms.
In fact, these two are aimed at slightly different directions; Arduino is generally a choice for electronics enthusiasts and DIY projects, while STM32 is often used for actual product development and manufacturing. However, now the Arduino series can also support STM32 chips by first downloading Arduino firmware, after which you can use the Arduino development environment for programming. Choosing what suits you based on your project type and needs is the most important.
Leave a Comment
Your email address will not be published. Required fields are marked *