Who is this for?

This is an advanced topic for embedded ML developers who want to run two ExecuTorch models concurrently on separate Ethos-U NPUs under Zephyr.

What will you learn?

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

  • Identify how one microcontroller unit (MCU) can coordinate two neural processing units (NPUs) while avoiding the power and system cost of a second MCU or application processor.
  • Configure an Alif Ensemble E8 DevKit for native Zephyr camera, image signal processor (ISP), display, and dual-NPU operation.
  • Build, package, and flash an ExecuTorch application that targets Ethos-U55 and Ethos-U85.
  • Validate live camera capture, model results, and parallel inference timing.

Prerequisites

Before starting, you will need the following:

  • Experience with C or C++, embedded systems, and Zephyr build concepts
  • A development machine running macOS on Apple silicon with Homebrew and the Xcode Command Line Tools installed
  • An Alif Ensemble E8 DevKit with an MT9M114 camera connected to J16 and an MW405 display
  • Alif SEROM 1.105.65 and SERAM 1.110.0 installed on the board
  • Alif Security Toolkit (SETOOLS) 1.10 installed on the development machine

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 build and validate a Zephyr camera application that runs face detection on Ethos-U55 and image classification on Ethos-U85 from one Cortex-M55. First, you’ll connect the camera and display, configure the board, and set up a west workspace. Next, you’ll build, package, and flash the application and model payloads. Finally, you’ll reset the board and verify the startup test, live camera preview, NPU logs, and parallel timing.

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 board before flashing?
Connect the USB ports for power, SE UART, and U4 UART. Confirm that your board has SEROM 1.105.65 and SERAM 1.110.0 installed, and set the boot switch to the SE position.
Which camera connector should I use for the MT9M114 module?
Use the bottom-side J16 connector. The supplied overlay targets J16.
Where should I run the build from and what inputs are expected?
Run from the west workspace root with your Python virtual environment activated. Define APP for the dual-NPU sample, OD for the object-detection module, and MODULES for the Zephyr module list. The sample includes compiled PTE models for Ethos-U55 and Ethos-U85 and a startup image.
How do I point the packaging step to my Alif Security Toolkit (SETOOLS) installation?
Set ALIF_SE_TOOLS_DIR to your SETOOLS 1.10 application directory, such as app-release-exec-macos on macOS. The sample’s JSON assigns application and model payloads to validated MRAM addresses. Confirm that the toolkit and referenced support objects are available.
What results indicate both NPUs are working before live camera starts?
After you reset the board, the display shows the bundled Grace Hopper image with a green face box from the U55 model. The U85 model identifies an ImageNet class such as ACADEMIC GOWN. The U4 log reports model preparation, isolated preflight messages, and starting parallel worker threads.
Next