Failed to Run Classifier (-8) and MFE failed (-1002) 33 BLE SENSE

Hello!
I’m building my first project using a NANO BLE SENSE that catchs microphone data to recognize fire sound. I built my model and the library to deploy in the arduino. It should listen for “continuous” audio to detect when fire is nearby, but the nano_ble33_sense_microphone_continuous example give me this error “ERR: Failed to Run Classifier (-8)”. How can i fix this?
If i run the other example microphone nano_ble33_sense_microphone example it runs without errors. Is there a difference in accuracy/performance between this two examples?
My project id for reference is : 86881

Edit: actually if i run the nano_ble33_sense_microphone example i get another error which is “ERR: MFE failed (-1002)
ERR: Failed to run DSP process (-1002)
ERR: Failed to run classifier (-5)”
i read that is may be caused by memory problems but another model with similar caracteristics works fine, also the expected RAM/ROM usage in the parameters tab is much smaller than the max the BLE can hold. Any advice?

Hi @RayGun182,

ERR: Failed to Run Classifier (-8) means that you are running out of RAM (please see this thread. I checked your project, and it seems that you have set your window size to 4000 ms. That’s too big for the Arduino Nano 33 BLE Sense. I recommend trying to make that smaller (e.g. 1000 ms), which should allow your impulse to run on that board.

1 Like

Thank you a lot! i will try it this way, very helpful

1 Like

Hi @shawn_edgeimpulse, I get the same error. But I have tried to alter the window increase from 500ms to 100ms. Tried to change the classifier from Spectrogram to MFE to I am running this on M5Echo (esp32). Its a very simple audio classification project with only 5 minutes of data. Any help would be appreciated.
My project id is 192152. Thanks.




Hi @akashkumar,

I am not familiar with the M5Echo. Do you have any other code or processes running (e.g. WiFi, Bluetooth, etc.)? The “window increase” just determines how much the window slides when slicing out training data. It does not affect the size/speed of your model. You would need to change “window size,” MFE parameters, or model hyperparameters (e.g. number of layers, nodes per layer) to affect the flash/RAM requirements.

Hi, I am using M5Stack’s ATOM Echo which runs ESP32 Pico with 4MB flash on it.

Hi @akashkumar,

The issue is that you’re running out of RAM. Flash should be fine (considering you were able to load the program on the board). You will need to look to see how much RAM you have available and see if there are other processes/threads running on your board. For example, WiFi and Bluetooth stacks can consume a lot of RAM and leave you with little left to run other code (e.g. inference).

Thanks @shawn_edgeimpulse. It looks like MFCC is working on the device with this memory profile.

2 Likes

Glad to hear you got it working!