Arduino Due, Beaglebone, mbed, or raspberry Pi are just a few examples of ARM -based embedded platforms for IoT product prototyping. Our intention to write this blog post is not only to compare these boards, but also to examine the significant impact of the processors in your design as they go into production.
Internet of ThingsSterilization
as you read in the recent blog post,The Internet of Things is in vogue. In the context of stimulating innovation in various economic platforms, there is no longer a lack of ideas for new physical products-whetherT/T Digital LifeHomesensoror isRemotely controllable cockroach, it can be anything.
IoT is a new application development platform
IoT inspires innovation around the world. Well-known companies in all industries are investing in IoT technology integration, creating new products and services. NikeFuelBand and Disney MagicBand are two outstanding examples of connected technology-leading products from well-known companies that are traditionally unrelated to the high-tech industry.
Small-scale batch manufacturing and 3D printing are revolutionizing the development of physical products. Innovators and entrepreneurs are beginning at the local level and starting to use IoT to solve problems. According to the Gartner forecast,to the2018, 50% of IoT solutions will come from startups that are less than 3 years old.
The opportunities are huge, and the Arduino and Raspberry Pi platforms also open for the world as much as possible. Embedded Technologyare moving into the eyes of cloud platforms and mobile app developers, helping them to move forward in the next rich world of development.
Where do you start?
We are often asked about the difference between mbed, Raspberry Pi, Arduino Due, and Beaglebone, which support ARM's development boards. On the surface, these boards may look similar, but in fact they are similar in that they all use ARM processors in their cores. But if you want to turn ideas into products, it's important to understand the differences between these processors. The following table outlines two broad device categories-application processors andMicro Controller.
Strengths
application processors are common on smartphones or computers, providing power to your favorite applications and operating systems; microcontrollers are ideal for handling simple tasks such asbluetoothheadphones, mouse, or buildingAccess Controland so on. The cost of development boards often distorts the fact that there is a huge difference between the overall system cost and power consumption between a microcontroller-built system and a system built with an application processor. Therefore, it is important to consider the host chip on the Development Board. Even if the price is a cinch, you don't want to design a simple sensor with an application processor running Linux when the only power supply is a CR2032 battery. As with all successful product designs, you need to consider the power, form, and performance limitations to ensure that the processor you choose matches these requirements. The following slides show some of the differences and tradeoffs:
The basic requirement is that if you are designing a very simple product (such as collecting sensor data and sending it to the cloud), you can predict the model based on thousands of sensor-to-cloud devices, using an application processor that is not only overqualified, but at a much higher cost than using a simple microcontroller-based design- Not only on the chip, but also in the complexity of software development. However, if you are designing a remote camera with face detection, you may need to use an application processor.
Power
The power requirements are a very important factor to consider. The cost of using an external power supply, even USB, is much higher than using a simple battery, which may be used to power the microcontroller. This also affects overall system costs because you have to procure cables and power, not to mention the logistical aspects of having a reliable power supply. This also affects the weight and shape of the product. For portable devices, power may mean larger batteries and power electronics, and the resulting heat may also mean a heatsink or even a fan. Can you imagine a running machine with a fan? It is also worth mentioning that the field of energy harvesting technology is developing rapidly, it can be exempted from the need to use batteries. Many of these energy harvesting techniques can provide a few mA of current in short pulses, allowing small electronic devices to collect enough data and quickly transfer such data. Devices built on this type of energy harvesting technology need to be able to incorporate ultra - low-power packages, which can only be achieved by using microcontrollers. That's why ARM-based devices are designed to be energy-efficient and enable smaller, lower-cost IoT devices.
The power of diversity in the ARM ecosystem
Physical IoT devices are extremely diverse in their nature. For example, compare a smart watch to a networked car! One of the strengths of the ARM ecosystem is its wide range of microcontrollers and application processors to meet the exact needs of your IoT applications while still adopting a common architecture. ARM's business model helps build a vast and innovative ecosystem around our core IP, enabling chip suppliers to develop optimized chips for a wide variety of vertical markets; in fact, ARM has more than 300 companies that have built more than 1000 kinds of chips using the authorized arm core.
Software development environment
Another key factor to consider is the software development environment. The options depend on whether your development platform is based on a microcontroller or an application processor.
Micro-Controller development Platform:
in theMCUin the early years, developers needed to write assembly code for specific vendors.
over the past decade, this approach has largely been supplemented by embedded C language development. Advances in compiler and debugging techniques have enabled developers to leverage a wider range of devices to handle more complex applications in more diverse projects.
recently, Arduino has pushed microcontrollers to a whole new audience. The Arduino was developed to enable artists to utilize microcontrollers, but was used by many enlightened interest groups to understand the potential of microcontrollers. In this process, a popular platform paradigm is formed, which is achieved by hiding the software details. This approach is invaluable to creative people who want to quickly test their ideas, especially when the microcontroller is not the focus of the project. This has become a part of the arm world--arduino Due platform is equipped with arm-basedCortexof the-M3 processorAtmelsam3x8e MCU.
The standardization of the processor architecture in the MCU makes the ecosystem that supports it even more prosperous. Further development is the use of a more advanced scripting language such as Python, or even a WEB programming model such as JAVASCRIPT, for microcontrollers such asTessel.
Application Processor Development Platform:
Fortunately,Android, IOS and full Linux (such as Ubuntu) have created a rich development environment for us to choose to write software that offers plenty of options, not only native C + +, JAVA, scripting languages, but also high-level languages like HTML5. In the past, if you were to develop on an ARM basis, you had to have a cross-compiler development environment on your x86 PC. Now, with the development of an arm-based development environment, we can easily use Samsung arm Chromebook or Odroid, which runs the full Ubuntu OS, to build arm on arm basis. This, in itself, can be used as a subject to write a blog post. Keep in mind that not all application processors are the same. Despite upward compatibility, CPU core functionality varies between arm architectures, such as ARMV6 (ARM 11) and armv7-a (CORTEX-A). The latter introduces instructions such as the NEON engine, which brings high-performance SIMD (synchronous input multiple data) engines that are designed to accelerate workloads such as multimedia and SMP (symmetric multi-processing), enabling efficient multithreaded processing. With the recent release of ARMV8-A, 64-bit embedded devices may even be born in the future.
Select the right Development Board for your project
Now, let's talk about a variety of affordable development platforms. There are many development platforms based on ARM, each offering unique value in this diverse Development Board ecosystem. The following table lists some of the ARM-based hardware development platforms available today, priced between $12.95 and $199, and can be easily purchased by anyone with a credit card. This form is not exhaustive and we will add it from time to times. In fact, if you think of any development boards that are not listed, please contact us. We will definitely add it, because we want to enrich the form continuously.
From prototype to production
all in all, it is important that there are many ARM-based boards available on the market, and that new members are added almost every day. When determining the appropriate development board, you must first decide whether you want to use a microcontroller or an application processor. Some of the criteria to consider include application, complexity, final system cost, power, and budget.
once the appropriate processor class is selected, the appropriate development platform is then identified. Application processors are easy to pick up because software compatibility in the ARM ecosystem can be guaranteed. If you have a driver for the OS you are using, you should have a similar environment. It is important to note that you may choose specific chips based on some specific features of the underlying platform.
Looking to the future
The innovative speed of connected products enables a wide variety of new business models, some of which have never even been imagined before. Just as the PC was the default development platform of the 90 's, the ARM embedded development platform will become the preferred development platform of the century. Fortunately for the arm ecosystem, this has been made easier because engineering stores such as Linaro have made it easy for mature platforms such as Linux and Android, which are fully supported on arm.
The cloud-based development platform, such as ARM mbed, will accelerate the development of IoT products by professional developers. It summarizes the baseline ecosystem of expected software components in IoT design, allowing chip vendors to focus on differentiated and value-added services.
The diversity of IoT development platforms makes innovation scale unprecedented