
Arduino has been subject to many controversies from non-Arduino supporters. Below are several common questions from the Arduino community. (The following views come from the Arduino community).
1. Arduino has low performance, inferior to Raspberry Pi and other development boards, so don’t use Arduino for development
Why use a sledgehammer to kill a chicken? The Chinese Academy of Sciences wouldn’t use a galaxy to play World of Warcraft, and you wouldn’t want to use a calculator to play LOL; different platforms have different positions;
The relationship between Arduino and traditional microcontroller development is similar to various languages and their corresponding SDKs. A normal program must choose a suitable language + corresponding SDK for rapid development, and choosing Arduino for development is no different.
Of course, you can choose to use traditional methods, or even assembly to develop microcontrollers, maximizing efficiency, but you will inevitably pay a higher learning cost, and later modifications to the program will become difficult; if your project really requires high real-time performance, I recommend you use Arduino + avrgcc, or even Arduino + assembly mixed programming. If that still doesn’t meet your requirements, you can also use Chipkit, Maple, and other 32-bit Arduino-like development platforms.
3. Arduino can only develop toys, not productsWhether you can develop products has nothing to do with Arduino itself, but only with your own abilities.
Many companies at home and abroad are using Arduino to develop products, and there are quite a few successful commercial products (I know some people will challenge me on what constitutes “success”), the claim that products cannot be developed and can only be toys is completely absurd. If you are truly engaged in hardware development, you will find that major IC manufacturers have launched their own libraries or SDKs, which are essentially the same as Arduino libraries, and this is also a trend in the hardware industry. This is akin to everyone writing software using someone else’s SDK.
I personally have never understood the logic behind the claim that Arduino cannot develop products. Can’t it be treated as AVR + SDK? If your reason is cost, then look at the next point.
4. The cost of Arduino development boards is too high and not suitable for productsI always tell others that Arduino is a development platform.
When I say using Arduino for development, I mean using the Arduino core library for development. Developing products does not necessarily require integrating an Arduino development board; a core control chip is sufficient.
As for how much the chip costs, developers can check for themselves. If you have no requirements on product size and the quantity is small, you can also use the Arduino controller directly.
In small batches, using Arduino for development can significantly reduce your development costs, and there is nothing more to say about that. If your project has a super large output~ you should of course choose cheaper chips for development; 1 yuan STC, 5 jiao HT are all possible.
In summary
The advantage of Arduino lies in its strong community and numerous library resources, its resources and influence have even led GitHub to add an Arduino language classification.
There is a cold joke: if you say “PHP is the best web language” in any programming QQ group, it will definitely spark a debate.
If you discuss the familiarity of many hardware development platforms, you will fall into this meaningless logic, so please note that I have never said that Arduino is the best development platform; I just hope everyone knows that choosing a suitable development platform for yourself and your project is the most important.
Here are some situations I have listed, based on personal experience, which may not be correct, and everyone is welcome to discuss.
Situations where Arduino may suit you:
-
You have never been in contact with hardware development;
-
You want to develop quickly and reduce development costs;
-
Your project will have low future output, or will not be mass-produced (this requires you to calculate the relationship between development costs and production costs);
-
Situations where Arduino may not suit you:If you have high requirements for processing power and system real-time performance, then Arduino is not suitable for you;
-
If your project has a huge future output, then Arduino is also not suitable for you (this requires you to calculate the relationship between development costs and production costs);
-
You are extremely familiar with another microcontroller or hardware development platform;
-
The libraries you will use in your project are also available on other platforms, and the hardware and development costs of those platforms are also very low;
Why use Arduino for development?
Why use Arduino as a development platform? Here are some advantages of making works or developing products with Arduino:
1. Cross-platform Arduino IDE can run on the three major operating systems: Windows, Macintosh OSX, and Linux, while most other controllers can only be developed on Windows.
2. Simple and clear development The Arduino IDE is developed based on the Processing IDE. It is very easy for beginners to master while having sufficient flexibility. The Arduino language is developed based on the Wiring language, which is a secondary encapsulation of the AVRGCC library. You don’t need too much microcontroller foundation or programming foundation; after simple learning, you can quickly develop.
3. Openness The hardware schematics, circuit diagrams, IDE software, and core library files of Arduino are all open-source, and you can modify the original design and corresponding code at will within the open-source protocol.
4. Community and third-party support Arduino has many developers and users, and you can find numerous open-source sample codes and hardware designs they provide. For example, you can find Arduino third-party hardware, peripherals, libraries, etc., on websites like Github.com, Arduino.cc, Openjumper.com, which can help you expand your Arduino projects faster and easier.
5. The trend of hardware development Arduino is not only the world’s most popular open-source hardware but also an excellent hardware development platform, and it is the trend of hardware development. The simple development method of Arduino allows developers to focus more on creativity and realization, complete their project development faster, greatly save learning costs, and shorten development cycles.
Due to the various advantages of Arduino, more and more professional hardware developers have begun to use Arduino to develop their projects and products; more and more software developers are entering the fields of hardware and the Internet of Things using Arduino; in universities, automation, software, and even art majors have also launched Arduino-related courses.
———— END ————
● Column “Embedded Tools”
● Column “Embedded Development”
● Column “Keil Tutorial”
● Selected Tutorials in the Embedded Column
Follow the public account reply “Join Group” to join the technical exchange group according to the rules, reply “1024” to see more content.
