Who is this for?

This is an introductory topic for embedded developers and ML engineers who want to run TinyML inference on physical hardware with Arm Ethos-U85 NPU acceleration.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Set up the Alif Ensemble E8 DevKit for ML applications.
  • (Optional) Train, compile and export an MNIST PyTorch model to ExecuTorch .pte format using a Docker container.
  • Configure CMSIS project files, memory layout, and linker scripts for an ML workload on the Alif Ensemble E8.
  • Build and flash firmware to the Alif Ensemble E8 DevKit.
  • Run MNIST digit classification on the Ethos-U85 NPU, and monitor inference results through SEGGER Real-Time Transfer (RTT).

Prerequisites

Before starting, you will need the following:

  • Experience with C or C++ and embedded development concepts
  • Alif Ensemble E8 Series Development Kit (contact Alif Sales )
  • USB Type-C cable for programming
  • A SEGGER J-Link debug probe, included in the DevKit
  • A development machine running Windows, Linux, or macOS with Visual Studio Code installed

Summary

AI-assisted

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.

Close
?
You’ll run MNIST digit classification on an Alif Ensemble E8 DevKit with ExecuTorch and Ethos-U85 acceleration. First, you’ll connect and configure the board, optionally use Docker to train and export a PyTorch model to ExecuTorch .pte, and prepare the firmware artifacts. Then, you’ll configure CMSIS project files, memory layout, and linker scripts, and build and flash the firmware. Finally, you’ll run inference on the Ethos-U85 NPU and monitor the results with SEGGER Real-Time Transfer.

Frequently asked questions

AI-assisted

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.

Close
?
What should I check on the DevKit before connecting it to my computer?
Before you connect the DevKit, unplug all USB cables before changing any jumpers. Verify that the jumpers match the factory defaults documented in the DK-E8 User Guide. This helps you avoid power or boot issues during setup.
Which USB port do I use for programming, and how do I confirm the board is powered?
Connect a USB-C cable to the PRG USB port on the bottom edge of the DevKit. You can confirm that the board has power when a green LED illuminates near the E1 device.
Do I need to set up Docker for this workflow?
Use Docker only if you plan to train and export the MNIST model to ExecuTorch format yourself. If you use the provided .pte file, skip the Docker setup and model export, and proceed to preparing the firmware artifacts.
What files must be ready before building the firmware, and where do they come from?
You need mnist_ethos_u85.pte and et_bundle.tar.gz. If you completed the optional export, you can find them in ~/mnist_alif/executorch-alif/output/. Otherwise, download the provided artifacts into your output directory.
How do I verify that inference is running as expected on the NPU?
Run the firmware and monitor its output with SEGGER Real-Time Transfer. You should see the firmware load mnist_ethos_u85.pte, execute inference on the Ethos-U85 NPU, and report a predicted digit in the RTT console.
Next