How to run Edge Impluse Image Classifier on Seeed Studio Grove AI Module

I am working on the Iot Into The Wild Contest. I have already trained multiple classifiers using Edge Impulse and I have deployed to several architectures such as linux PC, ESP32, Arduino, etc. I am getting great results!

I need some guidance on getting the Edge Impulse model to run on the Seeed Studio Grove AI Module.

For the contest, I need to determine the proper workflow:

  1. On the Edge Impulse dashboard, I can download the TensorFlow Lite (int8 quantized) model.

  2. Then following these directions, I can convert the model to UF2.

  3. I then burned the UF2 model to the Vision AI module following these instructions.

  4. Then I loaded the grove_ai_camera_i2c_example

  5. I changed the ai.begin(ALGO_IMAGE_CLASSIFICATION, MODEL_EXT_INDEX_1)

  6. When I run the code, I get the CMD_STATE_ERROR

Looking at the Seeed_Arduino_GroveAI.cpp code, I can see the invoke() method calls write(FEATURE_ALGO, CMD_ALGO_INOVKE, NULL, 0);

This is the I2C command to get the Vision AI module running inference.

Then I see the state() method that issues the command read(FEATURE_SYSTEM, CMD_SYS_READ_STATE, NULL, 0, &buf, CMD_SYS_STATE_LENGTH);

This read command returns the CMD_STATE_ERROR in my case.

Hi @mikeh9999,

I don’t know if many people here are familiar with that particular sensor, and it looks like Seeed Studio has written some custom code as a wrapper for the inference calls. I highly recommend also posting to their forums (or submit an issue if there’s a GitHub repo) to see if someone from Seeed Studio is able to help.