ARDUINO – WHY WILL IT WORK NOT ONLY FOR AMATEURS?
The Arduino platform has gained tremendous popularity all around the world. At first, it was associated mainly with amateurs and hobbyists, but with time it also became appreciated by professionals. The most important advantage of the solutions offered by Arduino is the ease of translating ideas into applications, which is why it enjoys popularity among millions of users worldwide. Not only prototypes but also final products are built using Arduino-based solutions. Drawing on its popularity, the Arduino platform enters the world of IoT devices, offering easy-to-use hardware and software. They can be used to build Internet of Things solutions using ready-made concepts, without the need to develop ideas from scratch and, in many cases, also without the need to involve external experts.
Use of Arduino in embedded applications
Numerous embedded applications published on the Internet prove it is a good choice. They are created without the use of C or C++ compiler and based only on the Arduino platform and ready-to-use modules available for it, such as uncomplicated light advertisement controllers or more complex ones designed for CNC machines and wireless communication applications.
The development of the platform was facilitated by the availability of its full documentation, as well as numerous examples of applications, which resulted in a burst of innovative solutions. If the creators of the platform did not come up with an idea for a particular application, someone else did and presented it on their own blog or website. This has led to the creation of countless extension modules, so-called shields, featuring various useful options.
Arduino Pro – why should you choose this solution?
Two revolutionary technologies that are causing quite a stir in the market for electronic components and data analysis software are becoming increasingly popular, namely the Internet of Things (IoT) and Industry 4.0. The former will have a huge impact on our lives in general, while the latter will be encountered mainly in industrial companies. Both require data extracted from a network of sensors deployed at points of importance to the application and sophisticated algorithms, and more and more often they involve artificial intelligence (AI) technology to process, synthesize, analyze and draw conclusions based on information from sensors and other sources. For example, using the IoT technology, it would be possible to make and network sensors that continuously monitor river water levels and weather conditions along the entire section of river course that we are interested in, within or beyond the national territory.
Arduino Pro development kit: ABX00011
Arduino Pro – who is it addressed to?
Although the advertising slogan of Arduino Pro mentions businesses, thanks to the availability of components, software, and documentation, and ease of use, Arduino Pro can be enjoyed by anyone who has an idea or needs to develop an application based on a network of connected sensors. You don’t have to immediately harness AI algorithms to analyze the data – in many situations, all you need is to present it to the operator or user in the right way.
Arduino Pro was developed primarily to support professionals who drive changes in businesses and in the world around us. The platform covers all the essential aspects they may require cloud for data acquisition and storage, hardware, a software development environment for hardware platforms, connectivity and positioning solutions based on data from geolocation systems, user interface, data visualizations, algorithms, and their connection to the already existing business management system.
ARDUINO PRO HARDWARE PLATFORM
Arduino Portenta
As a base for more advanced solutions within the Arduino Pro platform, we recommend the Arduino Portenta H7 microcomputer board, powered by a dual-core STM32H747 processor. The two cores are Cortex M7 clocked at 480 MHz and Cortex M4 clocked at 240 MHz. Users accustomed to boards with AVR processors may find the high computing power unnecessary, but in some applications, it may be justified by the average power consumption from the power supply.
Arduino Pro development kit: ABX00042
Let us imagine a network of sensors for water levels and environmental conditions deployed along a river. Not every location will offer access to a stationary source of mains electricity. Nor will it always be possible to meet the technical requirements to get access to it. In practice, this means that the mains power is supplied to the nodes/gates of the sensor network, and the locations of such nodes/gates are planned according to the availability of the mains power source. The sensors themselves, on the other hand, are powered with batteries, rechargeable batteries, or renewable energy sources. From the point of view of the sensor user, the less often the batteries need to be replaced, the better.
Naturally, there’s also nothing stopping you from using the potential of the Arduino Portenta H7 also in applications where the processor is powered from a stationary power source and handles, for example, image processing and evaluation algorithms, signal conditioning, and more.
Both processor cores of the Arduino Portenta H7 microcomputer share peripheral modules, by means of which they communicate with the environment and with each other.
The built-in wireless communication module provides simultaneous connectivity via Wi-Fi and Bluetooth. The Wi-Fi interface for the Arduino Pro platform can operate as an access point, a station, or in a dual-mode (access point/station) and supports data transfer rates of up to 65 Mbps. The Bluetooth interface works in Bluetooth 2.0 and BLE modes.
Arduino MKR and Arduino Pro
Sensors and communication modules can be developed using products from the Arduino MKR family. These include boards equipped with processors with Cortex-M0+ core and a variety of communication interfaces, thanks to which the developed applications can be easily scaled. It is worth mentioning that these modules are well known and used also by designers and manufacturers of other devices which are not related to IoT.
The manufacturer’s description of modules from the Arduino MKR family also suggests a sort of a solution level at which they can be used. It seems that this suggestion is related to the computing power and the presence of chips that extend the functionality of the processor. For example, the MKR WIFI 1010 modules proposed at the Beginner level are equipped with Wi-Fi and Bluetooth LE interfaces, which have a rather short range – according to the manufacturer’s literature, they are suitable for indoor building automation applications. The board is based on the ATSAMD21 processor with a Cortex core and the NINA-W102 Wi-Fi/BLE communication module by u-blox. The MKR modules recommended at the Intermediate level allow you to create networks with a multi-kilometer (Sigfox, LoRa, Narrowband IoT) or even global (GSM) coverage.
Arduino Pro development kit: ABX00023
The MKR Vidor 4000 board recommended at the Advanced level features a Cyclone 10LC016 FPGA in addition to the ATSAMD21 processor. Arduino recommends using this board for applications that require video and/or audio processing, so it is equipped with Wi-Fi/BLE interfaces to communicate primarily with a local PC, tablet, or smartphone, which will most likely act as a user interface.
Arduino Pro development kit: ABX00022
Arduino Nano 33
For professional applications, two baseboards are suggested: Arduino Nano 33 BLE and Arduino Nano 33 BLE Sense. Their hardware has been shrewdly designed to be suitable for use in wearables or mounting on drones or autonomous vehicles. Thanks to the miniature dimensions of the boards (only 45 mm×18 mm), a ready-made, the very powerful microcomputer can be fitted into a small space and use its computing power and interfaces to communicate with the environment.
Arduino Nano 33 BLE
Arduino Nano 33 BLE Sense
Both boards are powered by the ARM Cortex-M4 core clocked at 64 MHz, embedded in the nRF52840 radio chip. The Arduino Nano 33 BLE features a 9-axis IMU sensor, while the 33 BLE Sense additionally offers temperature, humidity, pressure, gesture, proximity and illumination sensors, and a built-in microphone. This is quite an impressive specification for such a small board, which thanks to that can be used not only for developing wearables but also for sensor networks used in construction or scientific experiments that require communication within a small, local range.
Expansion modules for Arduino Portenta H7
One of the most advanced Arduino Portenta H7-compatible expansion modules is the Portenta Vision shield. It hosts a 324×324 pixel camera with very low power consumption. Thanks to its modest power requirements, this module can also be used in imaging applications that operate on continuous battery power. The CMOS image sensor offers very high sensitivity and enables gesture recognition, ambient light measurement, distance evaluation, and object identification. The module is also equipped with two omnidirectional microphones with a digital interface. Images and sound can be recorded on a MicroSD card. Data from the module can be transmitted via the Ethernet or LoRa interface. Application development for the module is facilitated by access to the OpenMV function library, available for the Python language.
Software – Arduino IoT Cloud, Arduino IoT API, Arduino IDE Pro, Arduino CLI
Even the most advanced computer is useless if it doesn’t have the right software. Along with the hardware designed for developing IoT applications, the authors of Arduino Pro have also introduced appropriate software not only for creating applications, but also enabling secure data acquisition, storage, and processing.
Arduino IoT Cloud
The Arduino IoT Cloud is an easy, safe way to incorporate remotely working sensors into a business management application or interface that allows millions of users to access data, for example, in the form of a map, graph, or other graphical representation. Furthermore, the Arduino IoT Cloud allows addressing and access from the user interface to a specific location that requires inspection or maintenance for some reason. Access is possible from anywhere in the world where there is a connection to the cloud, whether via a PC or mobile device. What is important, those interested in developing such applications have access to thousands of lines of code that supports various types of sensors and actuators and is ready to be implemented in their own solutions.
Arduino IoT API
As mentioned, data collected from sensors can be presented in real-time in a graphical form or uploaded to a database. Numerous examples of how they can be used with Google Sheets, Amazon’s Alexa assistant, and other software vendors are available. Using the Arduino IoT API, you can also develop your own unique applications. The cloud software can be trialed for free – full functionality is available when connecting a single MKR or Portent board. To connect to more devices, you need to purchase a subscription.
All communication with the cloud is encrypted using the SSL protocol. The boards from the Arduino Portenta and Arduino MKR families have built-in cryptographic units that support real-time communication using this protocol. In addition, they are equipped with an authentication mechanism supported by an additional chip containing an X.509-compliant key.
Arduino IDE Pro
Software for edge devices can be developed using Arduino IDE Pro. This development environment inherits the features of the well-known Arduino IDE, so its users don’t have to change many habits and learn anew how to use it. The fastest way to start developing software for sensor networks is to use the Web editor. Today, this solution is appreciated by many software vendors. It offers the advantage of making the compiler somewhat independent of the computing power and the type of operating system installed on your hardware. As users, we also receive regular updates and patches as well as access to the latest tutorials and examples. The source code is stored in a dedicated area on the server and is certainly better protected than on the laptop we carry around or even the desktop in the office. However, the disadvantage is that it requires constant access to the Internet, which is not always possible.
Arduino CLI
For advanced users, there is an Arduino CLI command line interpreter available, which works in the console (command line) mode. It includes a compiler, allows to manage boards and function libraries, program devices, switches them on/off, and performs other actions. Arduino CLI can be used on platforms based on processors manufactured by ARM or Intel.