Sparkfun Muscle AI workshop troubleshooting

I’m attending the Sparkfun “AI Workshop: Muscle AI” workshop and want to make sure that my system is set up right before the workshop starts.

I added a new board “Sparkfun Micromod nRF52840 Processor” to the Arduino IDE by following this guide. When trying to compile “Blinky”, the compiler fails with:

arm-none-eabi-g++: error: softfp: No such file or directory
arm-none-eabi-g++: error: fpv4-sp-d16: No such file or directory
exit status 1
Error compiling for board SparkFun MicroMod nRF52840 Processor Board.

The guide talks about a Arduino Nano 33 BLE library with version 1.3.1 which I should modify, but by now the library are version 2.2.2 which indicates some breaking changes. Can someone confirm it’s possible to compile with version 2.2.2 of the library?

I’m not sure if this is a general issue or just on my machine. I installed some custom GCC ARM compilers with Homebrew and also some packets in VSCode, so I’m used to sometimes having compilers get a hiccup. I reinstalled Arduino and all libraries, removed my homebrew ARM GCC toolchain and my VSCode plugins, but nothing had any effect.

Any idea what I could do?
I’m on macOS 11.4 Big Sur.

Looking forward to the workshop!

Hello @julian.vogels,

No unfortunately it is not possible to compile with Mbed OS 2.2.2.
You need to use the Mbed OS boards version 1.3.1.

Sparkfun is working on fixing this. Their documentation will be updated then.

For the workshop, I’ll give you directly a folder to copy so it will be easier to get started.

Regards,

Louis

2 Likes

Thanks for the quick answer Louis! Alright then I don’t need to do anything to prepare anymore, I’ll just drop in that folder with the 1.3.1 version once you provide it.

See you soon!

Hello,

Looking forward to the session! Thank you for organizing this :slight_smile:

I installed the CLI packages; when I tried testing the installation by running ‘edge-impulse-daemon’ on the command prompt, I got an error message saying the application ‘could not locate the bindings file’, and it gave me a list of nodes it tried.

The edge-impulse-uploader worked; but I got the same error (‘could not locate the bindings file’) when I tried executing the ‘edge-impulse-run-impulse’ app.

I am running this on Windows 10, with NodeJS and Python installed at the standard paths.

How can I try and fix this issue?

Thanks! :slight_smile:

Hello @mrgudipati,

Have you checked this thread? Windows CLI error
Can you try removing edge-impulse-cli and install it again using

npm uninstall -g edge-impulse-cli

and then install it again.

Let me know if you still have any error.

Regards,

Louis

Hi Louis,

I had another issue when I tried that, in that after uninstalling the older version, I couldn’t install the CLI with the updated NodeJS 16.

I opened another thread describing the issues I had; I found a solution for the installation / setup issues by updating the version for Visual Studio (2019) and the path for the Python executable in my system for node-gyp: see this thread – Installing Edge Impulse CLI - Help - Edge Impulse

2 Likes

Thanks for this solution!

Hello - I have received my kit and I’m looking forward to the workshop tomorrow.

So far I have successfully got the board working with the Arduino IDE as per the Sparkfun guide.

I am using Windows 10, and have successfully installed Python, Node.js and the Edge Impulse CLI - however I am getting stuck trying to get the Edge Impulse daemon working with the Sparkfun board:

C:\Users\darre>edge-impulse-daemon
Edge Impulse serial daemon v1.13.8
Endpoints:
    Websocket: wss://remote-mgmt.edgeimpulse.com
    API:       https://studio.edgeimpulse.com/v1
    Ingestion: https://ingestion.edgeimpulse.com

? Which device do you want to connect to? COM3 (Microsoft)
[SER] Connecting to COM3
[SER] Serial is connected, trying to read config...
[SER] Failed to get info off device Timeout when waiting for >  (timeout: 5000) onConnected
[SER] Serial is connected, trying to read config...
[SER] Failed to get info off device Timeout when waiting for >  (timeout: 5000) onConnected
[SER] Serial is connected, trying to read config...

COM3 is the correct port, as I used that with the Arduino IDE (which was not running while I ran the edge-impulse-daemon).

Any idea where I am going wrong?

Thanks,
Darren

Edge Impulse Daemon won’t work here because the MicroMod board is not officially supported by Edge Impulse, but we will see together how to use the edge-impulse-data-forwarder to collect the data :slight_smile:

See you tomorrow,

Louis

2 Likes

Can we use the Nano Sense 33 instead of the MicroMod for the class?

Yes you could although the arduino sketches won’t be compatible as I will be using the a specific library for the accelerometer.

But you will be able to use the default example from the Edge Impulse default library. And it will be easily adaptable to use the BLE for the last part.

See you tomorrow,

Louis

Hi Louis. Thank you. I was just about to ask if a new boot loader will be provided and used in this WS, or we are going to use the data-forwarder option.

We will be using the data-forwarder :slight_smile:

Regards,

Louis

I’ve attempted installing the edge impulse CLI on a win10 machine but getting warnings and errors

Is there a way to test the installation before the workshop?

Hello @sraynesford,

Can you show me the output of:

npm install -g edge-impulse-cli --force

We won’t be using the daemon but if you want to test the CLI is actually installed, you can run:

edge-impulse-daemon 
Edge Impulse serial daemon v1.13.6
Endpoints:
    Websocket: wss://remote-mgmt.edgeimpulse.com
    API:       https://studio.edgeimpulse.com/v1
    Ingestion: https://ingestion.edgeimpulse.com

[SER] Could not find any devices connected over serial port
[SER] Retrying in 5 seconds
[SER] Could not find any devices connected over serial port
[SER] Retrying in 5 seconds
[SER] Could not find any devices connected over serial port
[SER] Retrying in 5 seconds

And check that the version is printed out.

Regards,

Louis

Joining link for today’s AI Workshop

There is no joining link, I have been checking my email several times:

( https://www.sparkfun.com/edge_impulse_nordic?utm_source=Hackster+Marketing&utm_campaign=043a026f62-EMAIL_CAMPAIGN_2019_02_14_02_53_COPY_01&utm_medium=email&utm_term=0_86d76c4d75-043a026f62-144436999&mc_cid=043a026f62&mc_eid=d2c09cfd10 )

God blesses!!!

Best regards,
Sanyaade

C:\Users\Steve>edge-impulse-daemon
node:internal/modules/cjs/loader:930
throw err;
^

Error: Cannot find module ‘C:\Users\Steve\AppData\Roaming\npm\node_modules\edge-impulse-cli\build\cli\daemon.js’
←[90m at Function.Module._resolveFilename (node:internal/modules/cjs/loader:927:15)←[39m
←[90m at Function.Module._load (node:internal/modules/cjs/loader:772:27)←[39m
←[90m at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)←[39m
←[90m at node:internal/main/run_main_module:17:47←[39m {
code: ←[32m’MODULE_NOT_FOUND’←[39m,
requireStack: []
}

C:\Users\Steve>

Will there be a recording of the workshop?
Not going to make it… schedule just loaded up.

Yes it will be recorded :slight_smile:

Where are we supposed to join? No link in email or here or on SparkFun site? Please help. Thanks!