Custom Edge Impulse model is ignored in Arduino App Lab 0.8.0

Question/Issue:
Custom Edge Impulse model is ignored in Arduino App Lab 0.8.0. The default yolo-x-nano.eim model runs instead of the trained custom model, even after correctly deploying it via the App Lab UI.

Project ID: 1015510

Context/Use case:
Custom object detection model trained in Edge Impulse Studio (YOLO-Pro Small) to detect filament trash (Black, Blue, Red, White, and Complex Flament classes). Deployed to Arduino UNO Q via App Lab 0.8.0 using the integrated Edge Impulse flow.

Steps Taken:

  1. Trained a custom object detection model in Edge Impulse Studio (Project ID: 1015510)
  2. Deployed the model to Arduino UNO Q via App Lab: Video Object Detection brick → AI Models → Download
  3. Selected the custom model in Brick Configuration and saved
  4. Ran the application from App Lab
  5. Inspected the running Docker container: docker inspect <container> | grep -A1 model-file

Expected Outcome:
The custom model (Flament Trash Detection, ei-model-1015510-3) should run and detect filament classes.

Actual Outcome:
The default yolo-x-nano.eim model runs instead. Docker container inspection confirms this:
"--model-file", "/models/ootb/ei/yolo-x-nano.eim"

Root Cause Identified:
There is a variable name mismatch in:
/var/lib/arduino-app-cli/assets/0.10.1/compose/arduino/video_object_detection/brick_compose.yaml

The command in brick_compose.yaml references:
${EI_V_OBJ_DETECTION_MODEL:-/models/ootb/ei/yolo-x-nano.eim}

However, App Lab sets the environment variable as:
EI_OBJ_DETECTION_MODEL

The variable EI_V_OBJ_DETECTION_MODEL (with the extra “V”) is never set by App Lab, so the container always falls back to the default model.

Reproducibility:

  • [x] Always

Environment:

Logs/Attachments:
Docker inspect output:

"--model-file",
"/models/ootb/ei/yolo-x-nano.eim",
"CUSTOM_MODEL_PATH=/home/arduino/.arduino-bricks/models/custom-ei/ei-model-1015510-3",
"EI_OBJ_DETECTION_MODEL=/home/arduino/.arduino-bricks/models/custom-ei/ei-model-1015510-3/model.eim"

Workaround:
Manually running the Docker container with the correct --model-file parameter works:
docker run ... --model-file /home/arduino/.arduino-bricks/models/custom-ei/ei-model-1015510-3/model.eim

Suggested Fix:
Either rename EI_V_OBJ_DETECTION_MODEL to EI_OBJ_DETECTION_MODEL in brick_compose.yaml, or ensure App Lab sets EI_V_OBJ_DETECTION_MODEL correctly when a custom model is selected.

Additional Information:
This issue affects all users trying to deploy custom models via the new integrated App Lab + Edge Impulse flow on App Lab 0.8.0. The root cause is a simple variable name mismatch that requires a one-line fix.

Hello @tayf82cihan first of all welcome to the Edge Impulse community!

The Arduino team told us that this is a known issue and they are actively working on it.

Thanks for sharing the suggested fix! That’s awesome!

We are waiting for the newer version of Arduino AppLab which is coming soon that will fix this problem!

Thanks!

Let us know if we can help you with anything else!