Seeed Studio Grove Vision AI v2 on SenseCAP A1102 + Edge Impulse: No useful data sent via LoRaWAN after flashing model

Issue:
Hey, i’m using the Seeed Studio SenseCap A1102 Sensor, which runs with the grove vision AI v2, but also communicates trough LoRaWAN (similar to the SenseCAP A1101). After flashing a custom model to the Grove Vision AI Module v2 (Himax WiseEye2), the device runs locally and makes correct inferences. However, it no longer communicates properly with the LoRaWAN module (Wio-E5). No valid payloads are sent, and data forwarding seems broken. The module also no longer shows up in the SenseCraft Web interface or app (which was different while I was using the Seeed SenseCAP A1101 - There were no problems with bottle payloads or anything like that. Everything worked perfectly after I loaded the deployed model from Edge Impulse onto my sensor.).

I’m trying to understand if this is expected behavior (e.g., UART output missing in default firmware), if something in the firmware disables communication with other modules, or if I need to modify UART output manually or if I did a mistake or something else is missing.

Project ID: 695275

Context / Use Case:
I created a vision model to detect small objects (like “hanuta” bars or toy figures). The inference works locally on the Himax (tested via edge-impulse-run-impulse) and logs reasonable predictions. However, the device no longer communicates with the LoRaWAN stack after flashing the model.

Steps Taken:

  1. Trained and deployed a model using Edge Impulse Studio
  2. Flashed the firmware and model using python3 xmodem/xmodem_send.py --port=YOUR_BOARD_SERIAL --baudrate=921600 --protocol=xmodem --file=firmware.img --model=“model_vela.tflite 0x200000 0x00000”
  3. Verified inference works via CLI logs
  4. Connected A1102 to LoRaWAN backend – but only invalid or empty payloads appear
  5. Tried reading UART using screen – no output

Environment:

Platform: Seeed Studio SenseCAP A1102 (Himax HX6538 + Wio-E5 + ESP32C3)
Build Environment: Edge Impulse Studio
OS Version: macOS Ventura
Edge Impulse Version (Firmware): Edge Impulse impulse runner v1.33.1
Edge Impulse CLI Version: 1.15.8

Logs/Attachments:

UART (via /dev/tty.usbmodem...) only outputs:

TPP44^�w�N�w{�?0�W<>Br�V4��Compiler Version: ARM GNU, 13.2.1 20231009

CLI output shows inference:

Predictions (DSP: 2.01 ms, Classification: 2.16 ms):
Object detection results:
    hanuta (0.96) [x:24, y:32, width:8, height:8]

But no UART / SD card / LoRaWAN activity follows.

Additional Information:

I suspect the issue lies in UART communication from Himax to Wio-E5. If that’s disabled or missing in the generated firmware, is there a documented way to re-enable it or inject a UART ei_printf() into the inference loop before compiling the .img?

If anyone has experience running Edge Impulse models inside a SenseCAP A1102 and getting them to communicate via UART/LoRaWAN — I’d appreciate any tips.

Thanks, Lena

Hello @Lena_Czogalla

Let me ask internally to understand if the firmware image can harm the device. Could you please confirm what fimrware are you using?

Thanks

Hey, thanks for your response!

I’m using the Edge Impulse deployment for Seeed Grove Vision AI Module V2 (Himax WiseEye2).
The firmware was generated using the “Build” option in the Deployment tab.
The flashed files were:

  • firmware.img (from Edge Impulse)
  • model_vela.tflite (custom object detection model)

I flashed it using the provided xmodem_send.py script.

To be more specific and have additional information about the firmware i also build a library deployment (–>because unfortunately I didn’t get any useful data when I tried to find out the firmware using the provided method: To find out Edge Impulse Version: if you have pre-compiled firmware: run edge-impulse-run-impulse --raw and type AT+INFO…)

So with the libary deployment it says:
#define EI_STUDIO_VERSION_MAJOR 1
#define EI_STUDIO_VERSION_MINOR 74
#define EI_STUDIO_VERSION_PATCH 0

I hope you can do something with this information.

Hi @Lena_Czogalla

It looks like you would need to change the format of the output of our inference by modifying our firmware which is possible, but it may require more work than you will get benefit from. If you want to do that our firmware is public here

My suggestion is to work with the Arduino library export. This gives you full control over how the inference results are formatted and sent over UART for integration with other modules; e.g. working with a LoRa module like the Wio-E5.:

Our camera Arduino example, is included in the Arduino Library export from your project. Use this, and import the E5 module library for Arduino from SEEEDs docs for your module here i think. At the start of our example where the serial output is set up in the Camera example project like this you will need to start your initialise the lora module see the E5 docs for your model here,

In our Camera example, you’ll see the serial output setup like this::

Serial.begin(115200);
while (!Serial);

You’ll want to add LoRa module initialization right after that see Seeed’s docs for your board’s expected AT commands and baudrate (Mine says 9600).

Open Camera example and look for the inference results section:

Add the Lora output you need and then later have the inference results written out by following the guidance for the expected output e.g. the module i have here to test on is a similar E5 board Serial1, Serial2, or SoftwareSerial depending on your board’s pinout and available UART ports.:

for (uint16_t i = 0; i < EI_CLASSIFIER_LABEL_COUNT; i++) {
    float score = result.classification[i].value;

    // Send only predictions above a certain confidence score e.g. 70 % to reduce noise.
    if (score > 0.7f) {
        char payload[64];
        snprintf(payload, sizeof(payload), "AT+MSG=\"%s:%.2f\"\r\n", ei_classifier_inferencing_categories[i], score);
        loraSerial.print(payload);  // send via UART to Wio-E5
    }
}

Hope this gets you started but its likely your module will need a specific library to function I dont have any of this series to test on but this looks like the docs you need in SEEEDs guide here

If you have any trouble we can try to debug as best we can here but you may be best contacting SEEED forum directly if it relates to their LORA module usage, some modules and libraries can have differences across versions etc.

Best

Eoin

3 Likes