Arduino, which is popular all over the world, why is it criticized by experts in China?

        In foreign countries, Arduino is almost synonymous with makers and hardware innovation. The most important technological event in the 21st century, the symbol of the rise of the maker movement, was the birth of the first arduino development board in the winter of 2005. This circuit board has instantly sparked the enduring trend of makers all over the world.

        A large number of maker projects, including robots, drones, smart home control, 3D printing, etc., are mainly developed based on Arduino. And industries based on Arduino circuits and extensions, such as Arduino improvement or compatible boards, serving makers from Arduino prototypes to mass production and other businesses, are also extremely popular in the tide of open source hardware. In the arsenal of global hardware makers, Arduino has been Dominated the top spot for 12 consecutive years.

        However, in the domestic electronics industry, experts have always criticized this revolutionary geek product, such as "amateur stuff, no one has used it in the professional field", "low efficiency, redundant code", "unable to customize the underlying driver" ,, "The configuration is too poor to run the system"... and so on. What's more, an authority in the domestic electronics field compares arduino to "cheap lazy drugs" and prohibits his students from using it , I think it will hinder the learning of "real skills" such as stm32 and arm.

        Arduino is a dominant product in the world-renowned maker community, so why is it said to be useless in the Chinese technology circle?

1. The "high threshold" complex of experts

        The birth of revolutionary technologies has brought about a significant reduction in the threshold of traditional industries. For example, in the age of cold weapons, knights spent their entire lives learning swordsmanship, equestrianism and various fighting techniques. But after the birth of the musket, as long as you pull the trigger, almost anyone can do it easily, and the knights naturally feel lonely. For another example, early programmers spent a lot of time learning assembly language and even machine language, but then a concise and easy-to-understand high-level language was born. These seniors suddenly found that programming was no longer a job that could be forced, and what they had learned also become antiques.

        The biggest contribution of Arduino is that it "installs the trigger" for extremely complex and difficult electronic production - it packs and integrates the most troublesome electronic circuits and underlying driver libraries for geeks into a black box, thereby omitting most of the related circuits. For the operations related to the hardware driver, only simple control logic is left in the end. This allows programmers to easily produce sophisticated and reliable electronic creative products without learning complex electronic fundamentals. The lowering of the threshold of electronic technology brought by Arduino has stimulated the wave of makers in the 21st century, but electronic experts have become lonely because of this. Got, got mad, and started endlessly nitpicking the Arduino. This is particularly evident in the domestic electronics industry.

2. Misleading 1: Poor Arduino performance

        What experts like to say is that Arduino has extremely poor performance and cannot run the system.

        However, the key to tool selection is to be suitable. Advanced is not the same as suitable. Just like people will not use the Dawning supercomputer to play Warcraft, nor use anti-aircraft guns to fight mosquitoes, different platforms have completely different uses and specific Advantage. Smart developers will choose the hardware platform that suits them and the project, rather than blindly choosing the most powerful hardware platform:

        The advantages of Arduino lie in circuit control and sensor data collection. It is simple to use, extremely efficient, fast execution, numerous driver libraries, and low power consumption. No one can beat it in this regard.

        The development boards with system operation such as ARM and Raspberry Pi are mainly good at realizing more complex computing processing, such as graphics and image processing, large-scale data computing and so on. However, the underlying drivers of high-end chips such as ARM are more complicated, and the execution efficiency is far less than that of arduino.

        Therefore, in fact, the performance of arduino is very good, otherwise it will not be able to realize the cool and crazy functions. Moreover, even if you encounter complex computing needs, you can learn from each other's strengths and complement each other's shortcomings - use raspberry or PC for central control (processing algorithm), and then use arduino for execution, right?

Misleading 2: Arduino programs are inefficient

        Experts also said that Arduino's program is not as efficient as AVR, 51, and stc.

        This seems to make sense in theory, because the Arduino core library is a secondary encapsulation of the AVR, adding redundant code, which in theory will indeed reduce the operating efficiency a little bit. But the point is that this gap is only a few subtleties. Do developers really value these subtleties?

        Just like the choice of programming language, assembly language and even machine language are the most efficient and concise so far. The efficiency of programs compiled with them may be improved by more than a few seconds, but I have never seen anyone using assembly language. Writing software and programming systems.

        Compared with the development difficulty, driving resources, cost and other aspects, these subtleties are really insignificant, even in the professional field, they are ignored, at least in the industrial field, it is rare to see such demanding projects on real-time efficiency ;

        Arduino developers, the most urgent need is to quickly develop from idea to prototype - choose a suitable hardware tool and a powerful and easy-to-use library file resource package, quickly make a preliminary product, and through continuous debugging, quickly Perfect product. And this is the original intention of many geeks choosing Arduino - arduino code is simple, it is pleasant and fast to write, and the software can be perfected on the prototype software when the product is optimized.

        Of course, with traditional methods, the efficiency can be maximized. If you are not too tired, you can even use assembly to develop single-chip microcomputers, but the learning cost and time are astonishing, and the later modification of the program will become extremely cumbersome and difficult. ; And the harvest is that few subtleties.

        Therefore, I think those experts who talk about efficiency are really not boring.

Misleading 3: Arduino is a toy, not a product

        Experts have given no basis for this conclusion. But the reality is that many well-known products at home and abroad are developed with arduino, such as domestic Xiaomi's yeelight, drone's DJI, Pebble smart watch and Makerbot 3D printer, etc. These products are developed using Arduino as the platform basis product. These products are professional grade and very successful in the market. therefore. The so-called arduino can't be used as a product and can only be used as a toy, which is completely nonsense.

        To put it bluntly, Arduino is exactly the same as other IC products, but the quantity and quality of her class library and SDK are ahead of other ICs. In addition, many people engaged in hardware development at home and abroad are learning from the bottom layer and driver class library of arduino. Because due to the open source and extremely popular, the resources of arduino with avr+sdk as the core have been expanded at an astonishing speed for more than ten years. Almost every driver library has dozens of different feature schemes to choose from, which makes any other one The class libraries launched by major IC manufacturers are dwarfed by all.

        Therefore, it can be said that a large number of professional innovative products today are based on arduino, and arduino is more able to create a good product than any other IC.

Misleading 4: Arduino is expensive

        Experts say that the cost of arduino is very high, and the genuine one costs 200 yuan, which is not suitable for building products.

        Arduino was originally designed to reduce the cost of electronic development boards, so both hardware and software are open source, there are a large number of compatible boards, and it has always been one of the cheapest development boards in the world. China is the world's largest producer of arduino-compatible boards (Shenzhen). A high-quality UNO-compatible board on Taobao only costs 15-20 RMB, and the price is only less than 1/10 of that of raspberry and arm. Even genuine arduinos cost far less than other development versions.

        Moreover, arduino is only used to build and debug product prototype/verification machine, and the official product will only be replaced by arduino's control chip - avr. This chip is only a few bucks, it costs less, is smaller, consumes less power, and functions exactly like an arduino. Therefore, using arduino development can greatly reduce your development costs.

truth revealed

        Domestic experts have repeatedly attacked and framed arduino, not because arduino is not good, on the contrary, she is so good that she has touched many people's cakes, which is the reason why some people keep distorting and misleading arduino .


Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324732790&siteId=291194637