Fusion Sensor & Arduino Nano Ble Sense binaries not working

Hello,

I tried the new Fusion Sensor feature by combining all measurements from the Arduino’s IMU.

When I flash the binary(compiled from Edge Impulse) I get the following error when I try to run it on the board:

Failed to find sensor 'accX + accY + accZ + gryX + gryY + gryZ + magX + magY + magZ' in the sensor list

I also tried to use the Arduino library generated by Edge Impulse and chose the example nano_ble33_sense_accelerometer_continuous but I also get a similar error during compilation.

nano_ble33_sense_accelerometer_continuous:194:2: error: #error "Invalid model for current sensor"
 #error "Invalid model for current sensor"
  ^~~~~
exit status 1
#error "Invalid model for current sensor"

In the /src/model-parameters/model_metadata.h header file I have noticed this:

#define EI_CLASSIFIER_SENSOR                     EI_CLASSIFIER_SENSOR_FUSION
#define EI_CLASSIFIER_FUSION_AXES_STRING         "accX + accY + accZ + gryX + gryY + gryZ + magX + magY + magZ"

I guess the problem comes from the defined sensor type, which in the case is not EI_CLASSIFIER_SENSOR_ACCELEROMETER.

My questions are: Isn’t this supposed to work out of the box and if not, can somebody guide me on how to change the accelerometer example in order to get it working?

I think I need to format the sensor data as a string with the structure shown in EI_CLASSIFIER_FUSION_AXES_STRING but I am not sure.

Hi @innomrk I’ll try to reproduce on my end

1 Like

@innomrk
The problem lies in your axes names. Fix the typo and change

  • gryX to gyrX
  • gryY to gyrY and
  • gryZ to gyrZ.

Thank you very much for pointing this out… I didn’t notice the typo at all… The interesting part is that the axes names were automatically generated by edge impulse.

Can you share the steps you took to create the project? And more specifically how did you upload your data?

I used the edge-impulse-daemon on MacOS and I captured the data using the Arduino Nano BLE Sense. Check the attached screenshot. The axes are named wrong on data capture.

PS: The problem lies here:

1 Like

Thanks for the response. Yea, we’ve fixed it upstream but haven’t (yet) pushed the fix to this repo. Thanks for pointing that out. I’ll provide a hot-fix.

1 Like

The repo is updated now!

Perfect! Thanks for the help!