AllocateTensors() failed when running Keyword Spotting model on Himax WE2

Question/Issue:
I am trying to deploy a Keyword Spotting model created using the Edge Impulse tutorial on a Himax WE2 (WE-I Plus) device. The original tutorial is intended for the Arduino Nano 33 BLE Sense board, but I adapted the workflow for Himax WE2.

The model builds successfully and firmware flashes correctly onto the device. However, when running inference using the command: ‘AT+RUNIMPULSE’ the inference fails repeatedly with the following error:
AllocateTensors() failed
Failed to run impulse (-3)
AllocateTensors() failed
Failed to run impulse (-3)
AllocateTensors() failed
Failed to run impulse (-3)

This appears to be related to TensorFlow Lite Micro tensor allocation / memory allocation failure during model initialization.

I would like to understand:

  • Whether additional configuration is required specifically for Himax WE2
  • Whether the tensor arena size needs to be increased manually
  • Whether the generated model exceeds available RAM on the device
  • Whether there are known limitations for Keyword Spotting models on Himax WE2

Project ID:
1004839

Context/Use case:
I am experimenting with on-device audio inference / keyword spotting on the Himax WE2 platform using Edge Impulse.

The use case is:

  • Real-time keyword spotting
  • TinyML audio inference on MCU
  • Deployment on Himax WE2 instead of Arduino Nano BLE Sense

I followed the official Edge Impulse Keyword Spotting tutorial: Keyword spotting - Edge Impulse Documentation

The tutorial works with Arduino Nano BLE Sense, but I am attempting to use the Himax WE2 board.

Steps Taken:

  1. Created a Keyword Spotting project in Edge Impulse Studio
  2. Followed the official Keyword Spotting tutorial workflow
  3. Collected/trained audio samples
  4. Configured MFCC processing block
  5. Trained neural network classifier
  6. Enabled quantized model option
  7. Deployed firmware for Himax WE-I Plus / WE2 target
  8. Flashed firmware successfully onto Himax WE2 board
  9. Opened serial terminal
  10. Executed: AT+RUNIMPULSE
  11. Observed repeated inference failure with tensor allocation errors

Expected Outcome:
The model should initialize successfully and run real-time keyword spotting inference on the Himax WE2 board.

Expected behavior:

  • Successful TensorFlow Lite tensor allocation
  • Model inference starts correctly
  • Audio predictions displayed on serial console

Actual Outcome:
Inference initialization fails immediately with:

AllocateTensors() failed
Failed to run impulse (-3)

The error repeats continuously whenever AT+RUNIMPULSE is executed.

No inference results are produced.

Reproducibility:

  • [x] Always
  • [ ] Sometimes
  • [ ] Rarely

Environment:

  • Platform: Himax WE2
  • Build Environment Details:
  • OS Version: Ubuntu 22.04
  • Edge Impulse Version (Firmware):

AT+INFO


  • Edge Impulse firmware *

Firmware build date : May 22 2026
Firmware build time : 09:44:27
ML model author : devjonathan
ML model name : Tutorial: Responding to your voice
ML model ID : 1004839
Model deploy version : 116
Edge Impulse version : v1.93.3
Used sensor : microphone

  • Custom Blocks / Impulse Configuration: MFCC
    Logs/Attachments:
    AT+RUNIMPULSE

AllocateTensors() failed
Failed to run impulse (-3)
AllocateTensors() failed
Failed to run impulse (-3)
AllocateTensors() failed
Failed to run impulse (-3)

Additional Information:
Things I have not yet tried:

  • Increasing EI_CLASSIFIER_TFLITE_ARENA_SIZE
  • Reducing MFCC coefficients
  • Reducing NN layer size
  • Enabling EON Compiler
  • Re-training smaller quantized model

Would appreciate guidance on:

  • Recommended memory settings for Keyword Spotting on Himax WE2
  • Known working configurations
  • Recommended tensor arena size
  • Whether this model type is officially supported on Himax WE2