EKH05 Demo MJPEG outdoor test with HaLowLink: severe frame drops at 223 m LOS

Hi Morse Micro community,

I am testing an EKH05 Demo build based on Morse Micro MM_IoT 1.7.4:

HaLow_example_spi / EKH05-Demo

This is a local test build based on the SDK demo, not an official Morse Micro release.

Test setup:

  • Board/demo: EKH05 Demo
  • SDK base: MM_IoT 1.7.4
  • Example base: HaLow_example_spi / EKH05-Demo
  • Morse module: mm8108-mf15457
  • Morse chip: MM8108B2
  • Morse firmware previously observed: 1.16.4
  • Gateway/AP: Morse Micro HaLowLink
  • Camera: OV5640
  • Camera resolution: R320x240
  • OV5640 JPEG DVP PCLK: 48 MHz
  • Streaming mode: MJPEG over TCP port 8081

Main local modifications:

  • Added a standalone MJPEG socket server on TCP port 8081
  • MJPEG stream uses the current JPEG capture path
  • Disabled runtime sensor task during MJPEG testing
  • Disabled web-triggered ping test during MJPEG testing

Outdoor test result:

  • Maximum unobstructed line-of-sight distance observed: about 223 m
  • Effective frame rate at range: about 1-2 fps
  • Severe frame drops observed

In short-range testing, the camera path appeared capable of a much higher frame rate. Therefore, I suspect the outdoor bottleneck may be related to HaLow link quality, rate adaptation, retries, TCP retransmissions, client/browser backpressure, or HaLowLink-side configuration.

Could you advise what diagnostics I should collect next?

Specifically, I would like to know how to log or inspect:

  1. RSSI / SNR during MJPEG streaming
  2. Current MCS and channel bandwidth
  3. MAC/PHY retry rate or packet loss
  4. TCP retransmissions or send-buffer backpressure
  5. HaLowLink-side link statistics during a live stream
  6. Recommended HaLowLink settings for longer-distance MJPEG or camera streaming tests

If there are specific Morse Micro SDK APIs, HaLowLink Web UI pages, SSH/CLI commands, or debug logs that I should enable, please let me know.

I can run another outdoor test and provide serial logs, HaLowLink screenshots, or CLI output.

Best regards,
Nan Chen

SDK base: MM_IoT 1.7.4

I assume you mean the CMSIS pack version 1.7.4 based on the IoT SDK version 2.9.7?
Could you try the latest released CMSIS pack (1.9.0 based on 2.11.2) both for stability and new API’s that will enable some of your requests.

Question for you: What country code region are you operating with? EG EU has regulatory restrictions that will significantly impact the ability to push the transmission of images at range.

  1. RSSI / SNR during MJPEG streaming
  1. Current MCS and channel bandwidth

For API to query rates, you can fetch and parse the rate control table:

  1. MAC/PHY retry rate or packet loss

You can get some of this information from:

  1. TCP retransmissions or send-buffer backpressure

This would be LWIP statistics, or whatever network stack you have selected

  1. HaLowLink-side link statistics during a live stream

I believe you can get these from the HalowLink webpage Advanced Config ON -> Statistics various pages

  1. Recommended HaLowLink settings for longer-distance MJPEG or camera streaming tests

Not sure if there are any specifics to call out as yet.