Run image classification on an Alif Ensemble E8 DevKit using ExecuTorch and Ethos-U85
Introduction
Set up the Alif Ensemble E8 DevKit
Compile the model on an Arm cloud instance
Create the image classification firmware project
Add the application code
Configure memory layout and flash settings
Prepare a test image
Build, flash, and verify inference
Next Steps
Run image classification on an Alif Ensemble E8 DevKit using ExecuTorch and Ethos-U85
Who is this for?
This is an advanced topic for embedded developers who want to deploy a neural network model to an Arm Cortex-M55 microcontroller using ExecuTorch and an Ethos-U85 NPU.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Compile a MobileNetV2 model for the Ethos-U85 NPU using ExecuTorch's ahead-of-time (AOT) compiler on an Arm-based cloud instance
- Build ExecuTorch static libraries for bare-metal Cortex-M55 targets
- Configure CMSIS project files, memory layout, and linker scripts for an ML workload on the Alif Ensemble E8
- Run real-time image classification inference on the Ethos-U85 NPU and verify results using SEGGER Real-Time Transfer (RTT)
Prerequisites
Before starting, you will need the following:
- Experience with C/C++ and embedded development concepts
- An Alif Ensemble E8 DevKit with a USB-C cable
- A SEGGER J-Link debug probe (included in the DevKit)
- A development machine running macOS on Apple Silicon with Visual Studio Code installed
- An AWS account or access to an Arm-based cloud instance for native Arm compilation
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
mv2_runner firmware project from the Blinky template, add the provided application code that initializes the NPU and executes inference on a test image, and integrate RTT for result reporting. Finally, you’ll make memory layout and linker updates so the model, runtime, and SRAM working set fit, enabling real-time classification on the device.Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
mv2_runner firmware project.blinky.cproject.yml to mv2_runner.cproject.yml and replace internal references from blinky to mv2_runner. This establishes a new CMSIS project for the application.main.cpp in the mv2_runner project directory as instructed. When you flash and run the firmware, check the SEGGER RTT console for the printed classification result.