Arduino ZIP Model Metadata always shows Input Width and Height as 0 (ESP32)

Question/Issue:
Model metadata values EI_CLASSIFIER_INPUT_WIDTH and EI_CLASSIFIER_INPUT_HEIGHT are always 0 in the generated Arduino ZIP library, making the model unusable for inference on my ESP32 device.

Project ID:
[747128]

Context/Use case:
I’m building a Voice Mood Detection model using an ESP32 DevKit and INMP441 microphone. The model classifies 5 moods: Angry, Happy, Sad, Hey Dream, and Silence. I want to deploy the model to my ESP32 using the Arduino ZIP library deployment.

Steps Taken:

  • Created project with 5 labels and imported ~100 samples in WAV format (16 kHz)
  • Added Time Series Data (audio) → Audio (MFCC) → Classification blocks
  • Generated features successfully with default MFCC settings
  • Trained model (99% accuracy), validated performance
  • Deployed as Arduino ZIP library (tested both EON and TensorFlow)
  • Imported into Arduino IDE successfully
  • Loaded example sketch → model compiles, but logs show: “Model input size: 0x0”
  • Opened model_metadata.h and confirmed:
    #define EI_CLASSIFIER_INPUT_WIDTH 0
    #define EI_CLASSIFIER_INPUT_HEIGHT 0

Expected Outcome:
After successful training and deployment, I expected model_metadata.h to contain correct input shape values (e.g., 13x49) based on MFCC settings, so inference can run properly.

Actual Outcome:
Model_metadata.h always contains width and height as 0. Sketch compiles but inference fails or behaves incorrectly due to zero input shape.

Reproducibility:

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

Environment:

  • Platform: [ESP32 DevKit]
  • Build Environment Details: [Arduino IDE 2.3.2, ESP32 Arduino Core v2.0.9]
  • OS Version: [Windows 11]
  • Edge Impulse Version (Firmware): [e.g., N/A]
  • To find out Edge Impulse Version:
  • if you have pre-compiled firmware: run edge-impulse-run-impulse --raw and type AT+INFO. Look for Edge Impulse version in the output.
  • if you have a library deployment: inside the unarchived deployment, open model-parameters/model_metadata.h and look for EI_STUDIO_VERSION_MAJOR, EI_STUDIO_VERSION_MINOR, EI_STUDIO_VERSION_PATCH
  • Edge Impulse CLI Version: [e.g., 1.5.0]
  • Project Version: [e.g., 1.0.0]
  • **Custom Blocks / Impulse Configuration: Impulse:
  • Time Series (audio), window size: 1000ms, stride: 500ms, freq: 16kHz
  • MFCC (default settings)
  • Classifier with 5 output classes
    Logs/Attachments:
    [Include any logs or screenshots that may help in diagnosing the issue]

Additional Information:

  • Tried both EON Compiler (int8) and TensorFlow (float32)
  • Also tried creating a completely new project with fewer samples — still same issue
  • Unable to find “Input shape: 13x49” or similar in the training summary

Any help resolving this would be greatly appreciated!