I’m trying to run a project I designed for keyword recognition. Although I followed the guidlines given in the EdgeImpulse’s website (Sony's Spresense - Edge Impulse Documentation) I’m constantly encountring the following error.
How did you get the Firmware to default to a microphone?
The tutorial you are following says to download the Spresense Firmware, unzip it and run flash_windows.bat.
When I do this the Firmware loads successfully.
Then running run-edge-run-impulse results in
Edge Impulse impulse runner v1.16.3
[SER] Connecting to COM11
[SER] Serial is connected, trying to read config...
[SER] Failed to get info off device:undefined. Is this device running a binary built through Edge Impulse? Reconnecting in 5 seconds...
[SER] Serial is connected, trying to read config...
[SER] Retrieved configuration
[SER] Device is running AT command version 1.7.0
[SER] Started inferencing, press CTRL+C to stop...
LSE
Inferencing settings:
Interval: 16.0000 ms
Frame size: 375
Sample length: 2000.0000 ms.
No. of classes: 4
Starting inferencing, press 'b' to break
Sampling...
Err: failed to get sensor data
Predictions (DSP: 6 ms., Classification: 0 ms., Anomaly: 0 ms.):
idle: 0.996093
snake: 0.000000
updown: 0.000000
wave: 0.000000
anomaly score: -0.066530
Starting inferencing in 2 seconds...
>
So the Firmware defaults to an IMU. The Spresense does not have a built-in IMU. Therefore it makes sense for the Firmware to bail out to a command line awaiting user input of some unknown kind.
I was able to configure the SPRESENSE with a built-in microphone by adding a microphone through it’s MIC C ports given in this link (Spresense Hardware Documents). I’m using an analog microphone that is soldered on a custom PCB.
I was able to configure the port as its builtin microphone using SPRESENSE’s the flash bootloader. I will try to reset this modification and update you on this manner. Maybe the way I approach it was causing problems. However, the code I wrote for upto now enables the microphone work without any problems.
I was able to fix the problem by reinstalling the EdgeImpulse. As you mentioned everything was configured correctly. I assume when I was installing npn or downloading the libraries had a corruption. I would like to thank you for responses.
I was able to see it by using the edge-impulse-run-impulse --raw mode.
I’m using the Ardunio’s IDE to flash the Spresense. If you enquire on how I achieved that I’m happy to have a detailed conversation.