Unable to Upload the .eim File for Industrial Predictive Maintenance Application (Using Modulino Movement Sensor Dataset)

I am working on an Industrial Predictive Maintenance application, where the goal is to classify healthy vs faulty machine vibration conditions using data collected from the Modulino Movement Sensor (accelerometer-based vibration source).

I have already completed the following steps:

  • Collected vibration/motion data using the Modulino Movement Sensor
  • Uploaded the dataset to Edge Impulse
  • Trained the machine learning model
  • Generated the deployment file: model.eim

However, I am facing issues with the procedure to upload or integrate the .eim file into the Industrial Predictive Maintenance application environment. The documentation does not clearly specify:

  1. Where to place or upload the .eim file within the application structure
  2. Whether the model should be integrated through
  • File system upload
  • Backend/cloud interface
  • Local configuration screen
  • Or compiled directly into the application/firmware
  1. Any required directory path, model naming format, or version compatibility
  2. Whether the application expects sensor parameters (sampling rate, axis orientation, scale) to match the Modulino Movement Sensor configuration
  3. Any necessary post-upload steps like model initialization, restart, or sensor-to-model binding

Hello @ashwinh

Where do you face issues with the procedure to upload the eim model into the Arduino UNO Q? Did you follow these instructions?

The models need to be stored in:

/home/arduino/.arduino-bricks/ei-models/

Let us know if you success with this project!

Hi @marcpous ,Thanks for the quick updates— yes, I followed the same upload procedure. There’s just a slight difference on my side because I’m working with a time-series project:

  1. I copied the Real-Time Time Series application from App Lab as my base.
  2. I placed the generated .eim model file in the project and referenced it via app.yaml.
  3. I updated the model variable to point to my asset by changing:

C

#define EI_MOTION_DETECTION_MODEL ei_model_bytes

Show more lines

(or the equivalent) to my time-series model symbol. name: Vibration monitoring
description: "Vibration monitoring for industrial health and fault detection "
ports: []
bricks:

  • arduino:video_object_detection: {
    variables: {
    EI_MOTION_DETECTION_MODEL: /home/arduino/.arduino-bricks/ei-models/<name of your model>.eim
    }
    }
  • arduino:web_ui: {}

icon: :grinning:

@ashwinh what brick are you using? Did you try the motion detection brick instead of the video object detection on your application?

https://docs.arduino.cc/software/app-lab/tutorials/bricks/

You are properly using the variable EI_MOTION_DETECTION_MODEL but you may need something like:

bricks:

arduino: motion_detection: {
   variables: {
      EI_MOTION_DETECTION_MODEL: /home/arduino/.arduino-bricks/ei-models/<name of your model>.eim
   }
}
arduino:web_ui: {}

And of course add the name of your model! You must change ei-models/<name of your model>.eim by the real name!

Let us know if that works!