Unboxing the Neural Processing Unit in ALMA-B2 and Nordic Semiconductor’s Edge AI Labs

Unboxing the Neural Processing Unit in ALMA-B2 and Nordic Semiconductor’s Edge AI Labs

Unboxing the Neural Processing Unit in ALMA-B2 and Nordic Semiconductor’s Edge AI Labs

Discover how ALMA-B2’s built-in Neural Processing Unit helps embedded developers take their first steps into Edge AI, from sensor data collection to real-world machine learning inference.

An Embedded Engineer’s First Edge AI experiences

Late in the spring of 2026, u-blox launched ALMA-B2, our latest high-end wireless MCU based on Nordic Semiconductor’s nRF54LM20 SoC. Like any other product manager, most of my early time around this product went into customer discovery calls, creating business cases, COGS optimizations, etc. I have read a lot about the built-in Axon Neural Processing Unit (NPU) in the nRF54LM20B and the curious engineer in me wanted to evaluate the product firsthand to get a feel for how u-blox customers can implement the NPU in their products and for their use cases. So, when early prototype samples of ALMA-B2 arrived in our office, I managed to reserve a couple of Evaluation Kits to run my tests. The goal of these tests is to create a simple Machine Learning (ML) model that can run on either the MCU or the NPU and compare the efficiency in each case. Over the months, I have noticed a clear divide between AI/ML and data engineers, and embedded engineers. I hope this article helps embedded engineers get started with their AI/ML journey using the NPU in ALMA-B2.

The goal of this evaluation is not to create the perfect ML model but to enable embedded developers to get started with Edge AI/ML development. This is not intended to be a production-grade ML model. The goal is to document a practical first implementation path for embedded developers who want to get started with Edge AI on the nRF54LM20

Read more about ALMA-B2 here
Get in touch with u-blox for ALMA-B2 samples

Many u-blox customers build devices for location tracking, asset monitoring, logistics, and industrial IoT. Hence, it was natural for me to build an ML model that can be used in asset tracking use-cases. I decided to build a simple asset tracker that can identify if a package has been mishandled during transportation and record such incidents for insurance purposes.

u-blox Edge AI asset tracking demo concept with package on conveyor belt in logistics warehouse

Our demo is to be able to identify if something happened to a package when it is transported

Technical Block diagram

I used a simple Bosch IMU, BMI270, as a sensor for recording motion. ALMA-B216 (with the integrated NPU) was used as the host micro-controller unit. MAX-F11 was used as the low power GNSS solution to record the location and the time of an event. Any event is stored in the module’s non-volatile memory and can be read out over Bluetooth Low Energy at any point using a phone or a tablet.

Our setup should be capable of detecting 3 simple events:

  1. Bumps against other objects
  2. Intentional violent shaking
  3. Accidental/Intentional drops

Block diagram of the demo setup

u-blox ALMA-B2 evaluation kit with BMI270 IMU sensor board for Edge AI asset tracking demo

ALMA-B2 Evaluation Kit mounted with a BMI 270 for collecting accelerometer and gyroscope values

Data Collection

Like most ML models, the input data collection and clean-up step becomes the most important part of this setup. To collect data, I created a simple special application where I enabled the BMI270 at 800Hz. While the BMI270 also has 2KB FIFO for accelerometer, gyroscope, timestamps, and auxiliary sensor data, this initial demo used an application-level event capture path rather than a full FIFO-based implementation. The sensor values are stored in a ring buffer. Each event consists of 960 time-series sensor data where 500ms of pre-trigger data and 700ms of post trigger data is collected across 6 different channels (ax, ay, az, gx, gy, gz).

Serial output from u-blox ALMA-B2 Edge AI asset tracking demo showing sensor event data converted into CSV format for ML training

Each event was output as a serial block where a python script was used to convert this into a csv file for training

This raw time-series sensor data is transferred to a PC over serial UART. A python parser listened on the serial COM port, extracted event blocks, validated row counts, and generated a combined numeric CSV.

The data collection itself included dropping, bumping the EVK and violently shaking it 50 times each.

ALMA-B2 evaluation kit running an Edge AI demo with its built-in Neural Processing Unit
Nordic Edge AI Lab training an ALMA-B2 NPU model for embedded Edge AI
ALMA-B2 evaluation kit being tested for an Edge AI motion detection demo

Data was collected 50 times for each event, cleaned up and converted into a CSV file

Training the model using Nordic Edge AI Lab

Nordic Edge AI Lab is a new web-based tool created by our partner Nordic Semiconductor to facilitate and simplify training Edge AI Lab. While the models can also be trained using other tools like Edge Impulse and Google’s Tensorflow Lite, I was curious to learn how the new tool from Nordic worked.

I started by creating a new multi-class classification solution in Nordic Edge AI Lab. During data preprocessing, I enabled signal processing and used windowing by number of rows. Since each captured event from my firmware contained 960 sensor samples, I configured the model with a 960-sample window and a 960-sample sliding shift for both training and inference. In simple terms, every prediction was based on one full captured motion event: about 1.2 seconds of accelerometer and gyroscope data sampled at 800 Hz.

Nordic Edge AI Lab data preprocessing screen for u-blox ALMA-B2 Edge AI model training with signal processing enabled

Signal processing had to be enabled if the timeseries data was collected

I trained the same dataset using Nordic Edge AI Lab for both a compact Neuton CPU model and an Axon NPU-targeted model. This allowed me to evaluate the same sensor dataset across two deployment paths: running inference on the MCU core or accelerating it using the integrated NPU. Upon successful training, users can see a spider diagram explaining Model quality, Feature Importance Matrix and a Confusion Matrix and download the trained ML model.

Inference on the Edge

The trained ML model comes in a simple package that is plug-and-play compatible with Nordic’s nRF Connect SDK. I used Github Copilot and Nordic Semiconductor’s MCP client to simply adjust my data collection code to make sure that the sensor values were now used by the trained model for inference. And Voilà… the model worked great for my simple use case and could predict the class with decent probability on most occasions. Every time the model identified an event, ALMA-B2 turned on our latest low power MAX-F11 GNSS module, recorded the location and timestamp of that event and stored this information in the 2MB of onboard non-volatile memory. This information can be transferred from the tracker device to a smartphone or a tablet over Bluetooth LE at any point for tracking or insurance purposes.

u-blox ALMA-B2 Edge AI inference results showing Neuton and Axon model classifications for shock and hit events

Both the Neuton and Axon models work great for my simple use case

u-blox ALMA-B2 Edge AI asset tracking app showing logged mechanical shock events, event details, and location on a map

The ML events that were logged in the tracker can be read out wirelessly at any point in time

Other use-cases for the NPU

Even though the experiment itself was very simple, I was surprised by how quickly a semi-technical Product Manager, with zero experience in Edge AI/ML, could get this example running between meetings, customer calls and other product management tasks. We are now evaluating whether there are noticeable performance differences between running the model on the MCU and on the NPU. Our technology team has also started evaluating the NPU for other more complex use-cases like dead reckoning and predictive maintenance.

Read more about ALMA-B2 here
Get in touch with u-blox for ALMA-B2 samples

Want to know more about the results from our studies? Or are you curious about the NPU and want to implement and evaluate your own model for your own use case? We have a few samples of ALMA-B2 left. Reach out to your local u-blox contact person and request a sample today.

Author:

Hari Vigneswaran

Hari Vigneswaran is a Senior Product Manager in the Product Strategy team within the Short Range Radio Business Unit at u-blox Sweden. He has worked with u-blox for more than 11 years and has an embedded software engineering background focusing on Bluetooth, Wi-Fi and product security topics.

Courtesy of u-blox

Follow Us: