The collaboration between Nordic Semiconductor and Edge Impulse provides resource-optimized IoT devices with more accessible machine learning at the edge.
The large amounts of data produced through the IoT have always been a significant challenge for engineers. The result is that many of the products designed to help manage this deluge of information either use too much energy, have considerable latency, or incur large subscription costs associated with sending the data to the Cloud.
Moreover, it turns out that pumping endless raw data to the Cloud is very inefficient because much of it is of little value, simply confirming the measured variable remains unchanged.
Read more: Wireless IoT Architecture
The solution is to move much of the analysis of the raw data to the IoT end-device (for example, a sensor) to decide what information is important enough to send to the Cloud. In turn, the application can also use this knowledge (combined with programmed information of factors influencing its operating environment) to look for normal and abnormal behavior patterns.
Read more: Why AI is set to reshape the IoT
However, edge computing and machine learning have proved tough to implement. One reason is that many IoT end-devices lack the processing resources needed to deal with the complex algorithms powering the analysis. Besides, the algorithms themselves have to be written by a limited amount of specialist software coders.
Today, things are changing fast. Computing at the edge is getting progressively more energy-efficient and powerful; simultaneously, the algorithms are becoming more refined and streamlined. Engineers can now call on lightweight software routines that do the work previously achieved by thousands of lines of code. The achievement has given birth to a new sector dubbed tiny machine learning (or 'tinyML' for short).
TinyML technology has resulted in resource-optimized models powering 'inference' (making predictions based on previously identified patterns) in end-devices. End-devices powered by highly efficient solutions, such as Nordic's SoCs and SiPs, can now run tinyML models at the edge. At the same time, they can boast long battery life (or use a smaller battery or even energy harvesting), reduce latency, and lower subscription costs.
TinyML programs typically perform as effectively as established programs but feature memory footprints thousands of times smaller. For example, some tinyML algorithms can run on $5 microcontrollers with just 2 KB of RAM; imagine what could be done with a Nordic nRF52 or nRF53 Series SoC with its Arm Cortex M-class processor and large capacity Flash and RAM.
Read more: Memory in Bluetooth Low Energy Development
But new hardware can't address the expert-coder bottleneck. That has meant tinyML usually only being accessible to those companies with capable software engineers. Even though there are plenty of examples of applications running tinyML on Nordic SoCs, progress has been throttled by this skill shortage.
A Nordic and Edge Impulse partnership now makes it much easier for non-experts to use tinyML on Nordic SoCs. The collaboration brings the leaders in wireless IoT and tinyML together - making ML at the edge accessible to all. The development tools, hardware, and software are in place, opening up the field for many more innovative products that can run tinyML models locally.
The collaboration brings together Edge Impulse Studio, Nordic's nRF Connect SDK, and the nRF52840 and nRF5340 DKs. Developers can start fully-supported standalone inferencing example projects based on the nRF Connect SDK, and which runs on the DKs.
Raw data can be collected from accelerators, microphones, and other sensors and sent to Edge Impulse Studio using the company's data forwarder tool. This allows the platform to obtain datasets, then train and install models. With these readily available development tools, non-experts can quickly access tinyML software for a wide range of IoT end-devices.