Arm + ExecuTorch Edge AI Challenge · SFSU · October 2026

DCSM-Simplified

DataCenter Service Management, Simplified

A handheld for the data-center floor that runs fully offline on the Alif Ensemble E8. Point the camera at a component and the Ethos-U85 NPU names it. Then your voice opens an inspection checklist and the part’s specs, troubleshooting and LED codes. No phone, no network, no cloud.

The Alif E8 DevKit running DCSM-Simplified; the LCD footer reads NPU 7.9 ms, frame 124 ms, 8.0 FPS, and keyword spotting MFCC 3.3 ms, NPU 0.3 ms
The E8 DevKit, live. Footer: NPU 7.9 ms · frame 124 ms · 8.0 FPS.
35% → 73%board-camera accuracy, held-out slides, after fine-tuning
8.0 FPS124 ms per frame, from 274 ms
7.9 msvision on the Ethos-U85, 152.9 M MACs
0.34 msvoice keyword model on the NPU
2.4 MBboth int8 models, in on-chip MRAM

Demo

Live on the Alif E8

Recorded on the board, unedited apart from trimming. Everything runs on the E8: camera, NPU, microphone and LCD.

  1. A fan is identified on the Ethos-U85.
  2. “Yes” confirms it and opens the checklist.
  3. “Go” pages through its specs, troubleshooting and LED meanings.
  4. “Stop” returns to scanning: network port, another fan, power shelf, drive bay.

Download the video (MP4)

How it works

Point. Hold. Inspect.

Secure data-center floors ban phones, cameras and cloud. Technicians still have to identify parts they rarely touch, with their hands busy in a rack.

01 · camera

Point at a part

A MobileNetV2 on the NPU names it with a confidence and an info card. When it is unsure, it shows nothing instead of guessing.

02 · say “go”

Hold and check

The part is held and an inspection checklist opens. “Yes” and “no” mark each item; “no” on item 1 rejects a wrong identification.

03 · say “go” again

Look it up

Specs, troubleshooting, LED codes and maintenance for that exact part, retrieved on the device.

On-device retrieval, keyed by what the camera sees

The query is the identified class plus a voice command. A 15 KB knowledge base for all 16 parts is compiled into the firmware.

Fan · Troubleshooting (2/4)
High noise: check for obstructions or failed bearing.
All fans high speed: check ambient temperature or blocked airflow.

Why retrieval, not a generating LLM

  • About 195 KB of memory is left after the two models; even a tiny language model needs about 15 MB.
  • On a 400 MHz Cortex-M55 it would take seconds per word.
  • The voice model knows 10 words, not sentences.
  • Every answer comes from the knowledge base, never invented.

Slides

The presentation

The Alif E8 DevKit running DC-Ops, its LCD showing the live camera view and the performance footer: NPU 7.9 ms, frame 124 ms, 8.0 FPS

Arm + ExecuTorch Edge AI Challenge

DCSM-Simplified

DataCenter Service Management, Simplified

An offline component identifier for the data-center floor. Point, identify, inspect — by voice.

Alif Ensemble E8 · Cortex-M55 + Ethos-U85 · two ExecuTorch models

The problem

Secure data-center floors ban phones, cameras and cloud.

Technicians still have to identify parts they rarely touch — a power shelf, a drive bay, a fan — from memory or a printed binder.

No network

Air-gapped halls: nothing can call out.

No general camera

A single-purpose device that stores no images.

Hands busy

In a rack, voice beats a touchscreen.

DCSM-Simplified · 02

What it does

Point. Hold. Inspect.

01 · camera

Point at a part

The LCD names it with a confidence and an info card. Unsure? It shows nothing.

02 · say “go”

Hold and check

An inspection checklist opens. “Yes” or “no” marks each item. “No” on item 1 rejects a wrong ID.

03 · say “go” again

Look it up

Specs, troubleshooting, LED codes and maintenance for that exact part, retrieved on the device.

DCSM-Simplified · 03

On-device knowledge

Retrieval keyed by what the camera sees.

vision

class = “fan”, 98%

voice

“go” → next page

Knowledge base, compiled into the firmware

16 parts × specs, troubleshooting, LED codes, maintenance · 15 KB

Fan · Troubleshooting (2/4)

High noise: check for obstructions or failed bearing.
All fans high speed: check ambient temperature or blocked airflow.

Why not a generating LLM?

  • About 195 KB of memory is left after the two models.
  • Even a tiny language model needs about 15 MB.
  • At 400 MHz, it would take seconds per word.
  • Voice knows 10 words, not sentences.

So: retrieval without generation. Every answer comes from the knowledge base, never invented.

DCSM-Simplified · 04

Architecture

One chip, two models, one firmware image.

Camera

MT9M114

Resize

M55 · 1.75 ms

MobileNetV2

U85 · 7.9 ms

Smooth + gate

M55

LCD card

label + pages

Microphone

PDM, 16 kHz

MFCC

M55 · 3.3 ms

DS-CNN

U85 · 0.3 ms

Voice UI

M55 · every 0.5 s

Checklist

go · yes · no

Green = Ethos-U85 NPU, 100% of both models’ layers

Amber outline = Cortex-M55, signal work around the models

DCSM-Simplified · 05

The models

Big models teach. Small ones ship.

ModelJobParamsSizeAccuracyRuns on
YOLOv8n-segAuto-labeller for the first crops3.3 M6.8 MB fp16box mAP50 0.749GPU, offline
2× ConvNeXt-BaseTeacher2 × 87.6 M701 MB fp3297.2% valGPU, training
MobileNetV2, 160 pxVision: 16 parts + background2.25 M2.3 MB int891.2% photos, 73% board camEthos-U85
DS-CNNVoice: 10 keywords79 k93 KB int894.7% testEthos-U85

78× fewer parameters than the teacher pair. Both shipped models fit in 2.4 MB.

DCSM-Simplified · 06

Decisions

Six choices, each one measured.

Classifier, not detector

Vela scrambled a detector’s outputs on the board. A classifier runs 100% on the NPU and matches the PC.

Distil from a teacher

91.3% on board-like images with distillation, 80.4% without it.

160 px input

Best of 128, 160 and 192 px in a sweep, at the same model size.

Camera layout in

NHWC input, normalisation folded into the model: no reshuffling on the CPU.

Blank beats wrong

Smoothing over frames plus a 50% gate: 6% wrong labels, the rest correct or blank.

5 demo classes of 16

The ones the board camera separates reliably, picked from held-out data.

DCSM-Simplified · 07

ExecuTorch

From PyTorch to the Ethos-U85.

torch.export

graph capture

PT2E int8

calibrated on board frames

Ethos-U partitioner

to TOSA

Vela

U85-256 command stream

2 × .pte

in one firmware

Two models at once

We changed the runtime wrapper from one shared method to one per model.

Pinned to 1.1.0

A .pte must match the runtime compiled into the firmware.

int8 costs almost nothing

int8 and float agree on 98.4% of frames. Board top-3 = PC top-3.

Found a Vela bug

Cancelling transposes miscompiled. Documented, with a workaround.

DCSM-Simplified · 08

NPU performance

The Ethos-U85, per inference.

Measured on the E8Vision · MobileNetV2Voice · DS-CNN
Compute per inference152.9 M MACs9.1 M MACs
NPU latency7.9 ms0.34 ms
Effective throughput19.4 GMAC/s26.8 GMAC/s
Layers on the NPU100%100%
On-chip SRAM used (Vela)755 KiB51 KiB
Weights in MRAM2,280 KiB89 KiB
int8 = float top-198.4% of frames88.3% of clips

Only quantize and dequantize run on the Cortex-M55. Whole frame: 124 ms, 8 FPS; the NPU is about 6% of it.

DCSM-Simplified · 09

The hard part

The board camera sees a different world.

A training photo of a motherboard CPU fan, sharp and evenly lit

Training photo

The same fan photo as the E8 camera saw it on a phone screen: 160 pixels, glare, colour shift and the presenter's hand in view

What the E8 camera sees

91%

on photos, but only about a third right through the board’s own camera.

160 pixels, glare, colour shift, screen moiré.

DCSM-Simplified · 10

Fine-tuning

So we trained on what the board sees.

01

A phone shows a slideshow timed to the clock.

02

The laptop reads each camera frame off the board and labels it from the clock.

03

Fine-tune on 1,330 board frames plus 1,503 original photos, so nothing is forgotten.

04

Export, build, flash. One loop takes about 15 minutes.

A grid of 24 frames recorded from the E8 camera, each showing a component photo on a phone screen

Frames recorded from the E8 camera. Test slides are never trained on.

DCSM-Simplified · 11

Measured on the board

35% → 73%

board-camera accuracy on held-out slides, after the fine-tune

8 FPS

124 ms per frame, up from 274 ms after we cut per-frame logging

7.9 ms

vision on the Ethos-U85, about 6% of each frame

0.3 ms

voice keyword model on the NPU, plus 3.3 ms of audio features

DCSM-Simplified · 12 · 5 demo classes: 73% right, 6% wrong, rest blank

Every part, from the rack to the board

Which unit, then which part.

rack level · 16 parts the model knows

power shelf

network port

fan

power connector

drive bay

server rack

compute tray

NVLink switch tray

network switch

cable

LED indicator

label

cooling manifold

cable cartridge

management port

DPU

Green: live in the demo. Outlined: trained, hidden until more board-camera data.

board level · 21 part types, next

IC

capacitor

electrolytic capacitor

resistor

resistor network

diode

inductor

transistor

clock crystal

connector

LED

switch

button

ferrite bead

pins

pads

test point

jumper

capacitor jumper

resistor jumper

EM

672 labelled board photos, CC BY 4.0. A resistor is ~2 px at 160 px: next is a tiled detector, same ExecuTorch → Ethos-U85 flow.

DCSM-Simplified · 13

Why the Arm board

Everything on one low-power chip.

Ethos-U85 NPU

Both neural networks, every layer. Vision in 7.9 ms, voice in 0.3 ms.

Cortex-M55

Image resizing, audio features, smoothing, the UI.

On-chip memory and I/O

2.4 MB of models in MRAM with room to spare. Camera, microphone and display on the same board.

Where it fits

  • Data-center floors that ban cameras and cloud
  • Field service with no connectivity
  • Hands-busy work driven by voice
  • Any job where images must stay on the device

DCSM-Simplified · 14

What’s next

Always-on voice

Move keyword spotting to the low-power core and its Ethos-U55.

All 16 parts

More board-camera captures for the classes the demo hides today.

Board-level parts

ICs, capacitors, resistors, diodes: a tiled detector, trained on 672 board photos.

Thank you.

github.com/abhijitbetigeri/executorch-alife8

huggingface.co/abhijitbetigeri/dcops-e8

1 / 15

Under the hood

Two ExecuTorch models, 100% on the Ethos-U85

Big models label and teach on a GPU. Two small, distilled int8 students ship in one firmware image.

Models

ModelJobParamsSizeAccuracyRuns on
YOLOv8n-segAuto-labeller, first crops3.3 M6.8 MB fp16box mAP50 0.749GPU, offline
2× ConvNeXt-BaseTeacher2 × 87.6 M701 MB97.2% valGPU, training
MobileNetV2 160 pxVision, 16 parts + background2.25 M2.3 MB int891.2% photos, 73% board cameraEthos-U85
DS-CNNVoice, 10 keywords79 k93 KB int894.7% testEthos-U85

NPU, per inference (measured on the E8)

VisionVoice
Compute152.9 M MACs9.1 M MACs
NPU latency7.9 ms0.34 ms
Throughput19.4 GMAC/s26.8 GMAC/s
Layers on NPU100%100%
SRAM (Vela)755 KiB51 KiB
Weights2,280 KiB89 KiB
int8 = float98.4%88.3%
PyTorch→torch.export→PT2E int8, calibrated on board frames→Ethos-U partitioner → TOSA→Vela, U85-256→.pte, ExecuTorch 1.1.0
A training photo of a CPU fan, sharp and evenly lit
Training photo
The same fan photo as the E8 camera saw it: 160 pixels, glare and colour shift
What the E8 camera sees

Board-camera fine-tune

35% → 73%

A phone shows a clock-synced slideshow; the laptop reads each camera frame off the board and labels it from the clock. 1,330 board frames plus 1,503 replay photos, test slides never trained on. One loop: about 15 minutes.

Where this goes

From rack parts to the parts on the board

Today DCSM-Simplified tells a technician which unit to pull or check. The real servicing win is one level down: which part on the board failed, like a swollen capacitor, a burnt chip or a loose connector, with its specs and the fix, still offline.

Rack level · 16 parts the model knows

power shelf network port fan power connector drive bay server rack compute tray NVLink switch tray network switch cable LED indicator label cooling manifold cable cartridge management port DPU

Green: live in the demo. Others: trained, hidden until more board-camera data.

Board level · 21 part types, next

IC capacitor electrolytic capacitor resistor resistor network diode inductor transistor clock crystal connector LED switch button ferrite bead pins pads test point jumper capacitor jumper resistor jumper EM

From a public dataset of 672 labelled board photos (CC BY 4.0).

today · rack level

5 demo parts, live on the E8

Power shelf, fan, drive bay, network port and power connector, with checklists and knowledge pages.

next · board level

The parts on the board

IC, capacitor, electrolytic capacitor, resistor, diode, inductor, transistor, crystal, connector, LED and switch.

the path

Tiled detection on the NPU

A resistor is about 2 pixels at our 160-pixel input. A small detector on high-resolution tiles, trained on 672 labelled board photos (CC BY 4.0), using the same ExecuTorch → Ethos-U85 flow.