NUCLEO-L452 and SPH0645LM4H-B


I recorded samples with ‘start’ and ‘stop’ with a sample length of 1 second. Now I have gotten this model working on an Arduino Nano 33 BLE Sense. But if I leave the settings at default in the ‘create impulse’, the model does not work. But if I set the window size to 500 ms and the window increase to 100 ms, the model works perfectly on the Arduino. What could be a reason for this?

Now I’m working on getting the same model working on a NUCLEO-L452RE-P and an SPH0645LM4H-B (I2S microphone). That hasn’t quite worked out yet. When I say the word you occasionally see the prediction go up, but for the most part noise remains the highest prediction. Could this also be due to the ‘window size’ or the buffer size that I use?

Now I saw that the SPH0645LM4H-B microphone has a negative offset, making the output largely negative. Is that a problem for the Edge Impulse model? I see that my samples signals vary around 0.

I looked at the example (ei-keyword-spotting) from ShawnHymel and used it but couldn’t figure it out.

Thanks in advance for your reply!


Project ID: 357590

Hi @J.Hogendoorn

The offset in the microphone output and the buffer size might affect the model’s performance. Try adjusting the window size and buffer size to better capture the features of your input data. Additionally, please share a sample of the input captured from the microphone so we can confirm if it would be compatible I think from checking the ble 33 has a 16khz sample rate and the stm32 connected one was 64khz. Maybe try setting the STM connected one to 16khz via

#include <ArduinoSound.h>

const int sampleRate = 16000;

See if that work better :person_shrugging:

Please share some of your code for the NUCLEO-L452RE-P and an SPH0645LM4H-B (I2S microphone)

Give us as much detail as you can on the troubleshooting you tried along with the modified sample code so we can review.