Firmware-xg24 silabs-efr32mg24-data-acq-proj-1 no TinyML inference output after deployment on EI

Question/Issue:
I’m using this existing project to train, test, validate, and deploy models onto the Silabs EFR32MG wireless SoC (BRD2601B RA01) but I’m not able to get any TinyML inference out of the board when I install the binary HEX file onto my Silabs dev kit.

Project ID:
silabs-efr32mg24-data-acq-proj-1

Context/Use case:
Not displaying TinyML inference output is always encountered after downloading and installing the binaries for the Silabs EFR32MG2 dev board from Edge Impulse.

Steps Taken:

  1. I cleared the training data and started from scratch the data collection process
  2. I then retrained the new model data to deploy onto the BRD2601 A01 dev kit after compiling it
  3. I then used the Silabs IDE Flash Programmer to program the dev board successfully.
  4. When connecting to the Silabs EFR Connect app, the inference output under inference mode (HEX 01) isn’t produced as an output. This is the symptom and is consistent with this project when I use Edge Impulse to produce a binary/hex file output.

Expected
Outcome:

The expected outcome is to have a usable product.

Actual Outcome:
The binary/hex file is generated but model inference isn’t performed when the mode selected.

Reproducibility:

  • [ X] Always
  • [ ] Sometimes
  • [ ] Rarely

Environment:
BRD2601B A01

  • Platform: [e.g., Raspberry Pi, nRF9160 DK, etc.]
  • Build Environment Details: [e.g., Arduino IDE 1.8.19 ESP32 Core for Arduino 2.0.4]
  • OS Version: [e.g., Ubuntu 20.04, Windows 10]
  • Edge Impulse Version (Firmware): [e.g., 1.2.3]
  • To find out Edge Impulse Version:
  • if you have pre-compiled firmware: run edge-impulse-run-impulse --raw and type AT+INFO. Look for Edge Impulse version in the output.
  • if you have a library deployment: inside the unarchived deployment, open model-parameters/model_metadata.h and look for EI_STUDIO_VERSION_MAJOR, EI_STUDIO_VERSION_MINOR, EI_STUDIO_VERSION_PATCH
  • Edge Impulse CLI Version: [e.g., 1.5.0]
  • Project Version: [e.g., 1.0.0]
  • Custom Blocks / Impulse Configuration: [Describe custom blocks used or impulse configuration]
    Logs/Attachments:
    Issue always comes back with a normal exception after compile.

Additional Information:
No additional information at this time.

I was able to resolve the issue by doing the following:

  1. Download all of the training and test data with the easy upload enabled
  2. Delete all the data for the private project
  3. Re-uploaded the training and test data
  4. Walked through the MLOps process to then build the binary for the EFR32MG24 Silabs BRD2601B dev kit at the end
  5. I then flashed the dev kit with the Silabs binary

I was then able to detect TinyML inference outpu by setting the Hex value to 01 (inference mode) and also on my Android app. It works perfectly!

Problem resolved.

Mark D.