Sensor Fusion Nano 33 Ble Sense

I heard on Thursday about the new Sensor Fusion, but can’t seem to get my Nano33 Ble Sense to show more options in the Record New Data area. I just have the Built-in Accelerometer and Built-in microphone options. Is this something that hasn’t been activated yet? @jenny

image

Hi @Rocksetta,

Have you recently redeployed a firmware from the studio, or re-downloaded the pre-compiled firmware from the Arduino Nano 33 BLE Sense documentation page? https://docs.edgeimpulse.com/docs/arduino-nano-33-ble-sense#2-update-the-firmware

Thanks!
– Jenny

Thanks @jenny fairly sure I used the most recent pre-compiled firmware, but I do really like the “Connect using WebUSB” which might have caused the issue. I will try a few other methods today. I thought it was the web platform, but makes sense for the issue to be about the device software. I will look into it today.

Can someone do a quick test for me, perhaps: @jenny @louis @aurel

Can you prove that the Connect using WebUSB works for the Nano33BleSense SensorFusion? On school computers that is my main connection since the edge-impulse-daemon is hard to install without ADMIN access. I am also trying to compile the raw Nano33BleSense code on the Arduino IDE but also running into some issues.

@rjames I am trying to compile the Nano33 Firmware using the Arduino IDE 1.8.19 and running into linking issues things like finding the UsefulBuf.h. Should the Firmware Nano33BleSense have a boards.local.txt file? Here is the Portenta boards.local file.

envie_m7.build.extra_flags=-I{build.source.path}/src -I{build.source.path}/src/model-parameters -I{build.source.path}/src/repl -I{build.source.path}/src/ingestion-sdk-c/ -I{build.source.path}/src/ingestion-sdk-c/inc -I{build.source.path}/src/ingestion-sdk-c/inc/signing -I{build.source.path}/src/ingestion-sdk-platform/portenta-h7 -I{build.source.path}/src/sensors -I{build.source.path}/src/QCBOR/inc -I{build.source.path}/src/QCBOR/src -I{build.source.path}/src/mbedtls_hmac_sha256_sw/ -I{build.source.path}/src/edge-impulse-sdk/ -DARDUINOSTL_M_H -DMBED_HEAP_STATS_ENABLED=1 -DMBED_STACK_STATS_ENABLED=1 -O3 -g3 -DEI_SENSOR_AQ_STREAM=FILE -DEIDSP_QUANTIZE_FILTERBANK=0 -DEI_CLASSIFIER_SLICES_PER_MODEL_WINDOW=3 -DEI_DSP_IMAGE_BUFFER_STATIC_SIZE=128 -DEI_CAMERA_FRAME_BUFFER_SDRAM -w

Hi @Rocksetta,

I can confirm that the sensor fusion is not working with neither WebUSB nor the deamon. I believe this is because the Arduino firmware has not been updated on the site. I will work on getting that fixed.

1 Like

Thanks @shawn_edgeimpulse I was wondering why it was not working. I almost have the nano33Ble boards.local.txt file working so it can compile on the Arduino IDE. Stuck on the last few flags which are for SDRAM which the portenta has but the Nano33 doesn’t.

nano33ble.build.extra_flags=-I{build.source.path}/src -I{build.source.path}/src/model-parameters -I{build.source.path}/src/firmware-sdk -I{build.source.path}/src/repl -I{build.source.path}/src/ingestion-sdk-c/ -I{build.source.path}/src/ingestion-sdk-c/inc -I{build.source.path}/src/ingestion-sdk-c/inc/signing -I{build.source.path}/src/ingestion-sdk-platform/nano-ble33 -I{build.source.path}/src/sensors -I{build.source.path}/src/QCBOR/inc -I{build.source.path}/src/QCBOR/src -I{build.source.path}/src/mbedtls_hmac_sha256_sw/ -I{build.source.path}/src/edge-impulse-sdk/ -DARDUINOSTL_M_H -DMBED_HEAP_STATS_ENABLED=1 -DMBED_STACK_STATS_ENABLED=1 -O3 -g3 -DEI_SENSOR_AQ_STREAM=FILE -DEIDSP_QUANTIZE_FILTERBANK=0 -DEI_CLASSIFIER_SLICES_PER_MODEL_WINDOW=3 -DEI_DSP_IMAGE_BUFFER_STATIC_SIZE=128 -DEI_CAMERA_FRAME_BUFFER_SDRAM -w

Hi @Rocksetta,

I’m not sure about the flags-- @jenny or @louis may know more about those.

It looks like the repo that you’re trying to compile was updated 2 months ago. Sensor fusion was added last week, so I think that repo needs to be updated with the new firmware. I’ve put in a request to make that happen.

1 Like

Hi @Rocksetta,

New Arduino firmware with the Sensor Fusion is now available on our docs page: https://docs.edgeimpulse.com/docs/arduino-nano-33-ble-sense#2-update-the-firmware

@Rocksetta,

Yes, that’s correct. To build the Nano 33 BLE fimrware in the Arduino IDE, you’ll need a similar boards.local.txt file.

Feel free to make a PR.

3 Likes

Hi @Rocksetta,

Looks like it may be a browser caching issue. Try going to https://docs.edgeimpulse.com/docs/arduino-nano-33-ble-sense#2-update-the-firmware and pressing shift+F5 to hard refresh the page. Then, download the .zip firmware again. That seemed to work for me to get the latest version.

2 Likes

@ShawnHymel @Arjan , my nano33BleSense .bin file is 210 KB, any idea how big the new download is?

image

I’m seeing 210 KB on my end as well. The old version was 275 KB. Not sure if that helps.

Hi @Rocksetta,

I’ve just added support to build from the IDE. See this PR.

This works for the deprecated Arduino Mbed Os Board v1.1.6 board. There’s an issue when using the OV767X library, our firmware and Arduino Mbed OS Core v2.x.x which we’ll resolve soon. I suppose if you’re not using camera library you can remove the camera related code and get it to work for the latest Arduino Mbed OS Core.

1 Like

@ShawnHymel that is relevant. Looks like I am installing the new Nano33 bootloader, just my WebUSB is still only showing the microphone and accelerometer senses, probably something else is the issue. I will dig deeper.

I will work on that today @rjames with Arduino Core MBED version 2.7.2 and Arduino IDE 1.8.19 for the Nano33BleSense board.

Looks like Martino fixed but hasn’t merged your OV767X issue so I will test that out if I can find what he changed.

1 Like

Thanks @shawn_edgeimpulse not sure why mine was not working at school. On a whim I tried it again from home and presto

image

so once again it might be some weird blocking going on at school. Not really sure, but at least my sensor fusion is now working. Looks exciting.

Hi @Rocksetta,

Great to hear it’s working! That is odd it didn’t work at your school. That might be a caching issue on the browser for the studio, too. Maybe try a hard refresh on the project page next time you’re at the school?

Looks like it has been merged into the Arduino MBED core. I think I will wait for the next version to come out after 2.7.2 then try it out. By the way @rjames have you tried running edgeimpulse models on the new arduino IDE version 2.0.0-rc3 ? I can get most things running, it is much better than previous versions but I could not get Edgeimpulse models working, I could get my own hacked TFlite Machine Learning models working but not EdgeImpulse ones. Have you had any luck?

Your probably correct about the caching issue, did not work at all last week at school, this week works fine. Probably would work fine on other school computers. Thanks @shawn_edgeimpulse, have a great week!

1 Like