Can’t connect Arduino nano BLE Sense to edge impulse

Hi,
I’m trying to connect my Arduino nano 33 BLE to the edge impulse platform and I follow the steps given out on edge device website. The device does not show up in devices on the platform. When i enter edge-impulse-daemon in the command window, it give me the response as the following figure. please help
image

Hello @guanxiaochun,

Before installing Edge Impulse CLI on windows, you’d need to install NodeJS additional tools. This option is not selected by default. Can you try to uninstall NodeJS and install it again selecting this option please?

Regards,

Louis

And if you still have issues, @jenny wrote some scripts for Windows, MacOS and Linux that can install all the necessary tools for you: https://github.com/edgeimpulse/ei-install-scripts (make sure you uninstall NodeJS before to avoid any conflicts)

Regards,

Louis

I have select it, and it will automatically go to install python and vs etc. but it still do not work for the problem.

@guanxiaochun,

Which NodeJS version and Python version do you have?

Regards,

python 3.10 and NodeJS14.18.1

Thanks,

Yes that should be fine, did you try the ei-install scripts too?

No , i am not familiar with it

OK, then can you try to remove NodeJS and install it again? Maybe there was an issue during the installation. Also can you remove edge impulse CLI and install it again?

npm uninstall -g edge-impulse-cli
npm install -g edge-impulse-cli

Regards,

Louis

I have tried to remove NodeJS and install it again ,and also uninstall and install edge-impulse-cli,still not work.

Regards,

Xiaochun

Can you copy/paste the output of the edge-impulse-daemon below please, in the screenshot the characters are pretty small I’d like to make sure I did not miss anything :slight_smile:

C:\Users\DLSguan>edge-impulse-daemon
C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\bindings\bindings.js:135
throw err;
^

Error: Could not locate the bindings file. Tried:
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\build\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\build\Debug\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\build\Release\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\out\Debug\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\Debug\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\out\Release\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\Release\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\build\default\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\compiled\14.18.1\win32\x64\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\addon-build\release\install-root\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\addon-build\debug\install-root\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\addon-build\default\install-root\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\lib\binding\node-v83-win32-x64\bindings.node
at bindings (C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\bindings\bindings.js:126:9)
at Object. (C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\lib\win32.js:1:36)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:93:18)
at Object. (C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\lib\index.js:6:22)
at Module._compile (internal/modules/cjs/loader.js:1085:14) {
tries: [
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\build\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\build\Debug\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\build\Release\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\out\Debug\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\Debug\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\out\Release\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\Release\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\build\default\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\compiled\14.18.1\win32\x64\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\addon-build\release\install-root\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\addon-build\debug\install-root\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\addon-build\default\install-root\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\lib\binding\node-v83-win32-x64\bindings.node’
]
}

C:\Users\DLSguan>

Can you try this please:

npm install node-gyp@latest -g

Maybe your node-gyp version is outdated

Regards,

Louis

C:\Users\DLSguan>npm install node-gyp@latest -g
C:\Users\DLSguan\AppData\Roaming\npm\node-gyp -> C:\Users\DLSguan\AppData\Roaming\npm\node_modules\node-gyp\bin\node-gyp.js

  • node-gyp@8.3.0
    added 94 packages from 34 contributors in 39.401s

C:\Users\DLSguan>edge-impulse-daemon
C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\bindings\bindings.js:135
throw err;
^

Error: Could not locate the bindings file. Tried:
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\build\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\build\Debug\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\build\Release\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\out\Debug\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\Debug\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\out\Release\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\Release\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\build\default\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\compiled\14.18.1\win32\x64\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\addon-build\release\install-root\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\addon-build\debug\install-root\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\addon-build\default\install-root\bindings.node
→ C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\lib\binding\node-v83-win32-x64\bindings.node
at bindings (C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\bindings\bindings.js:126:9)
at Object. (C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\lib\win32.js:1:36)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:93:18)
at Object. (C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules@serialport\bindings\lib\index.js:6:22)
at Module._compile (internal/modules/cjs/loader.js:1085:14) {
tries: [
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\build\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\build\Debug\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\build\Release\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\out\Debug\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\Debug\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\out\Release\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\Release\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\build\default\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\compiled\14.18.1\win32\x64\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\addon-build\release\install-root\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\addon-build\debug\install-root\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\addon-build\default\install-root\bindings.node’,
‘C:\Users\DLSguan\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\lib\binding\node-v83-win32-x64\bindings.node’
]
}

C:\Users\DLSguan>

Alright thanks,

Another option, can you try to reboot your windows machine?

Louis

I reboot my windows just now,still not work

Hum… :thinking:

Ok then, I’m running out of ideas,

Can you go to the studio on your project and under the data acquisition tab, click on connect using WebUSB? This way you’ll see the device on Edge Impulse and you’ll be able to interact with it.

i can connect arduino using WebUSB, so the left is the same for the experiment of model deployment?

best regards

xiaochun

So if you could not manage to install Edge Impulse CLI, you won’t be able to run edge-impulse-run-impulse I think but this is not a problem if you use the Arduino Libraries and compile your project using Arduino IDE :slight_smile:

Let me know if you have further questions.

Regards,

Louis