Mm-iot-esp32 porting assistant error seeed XIAO Halow

Hi

I’ve been using the seeed github version of mm-iot-esp32 and the examples e.g. scan , rf-test , sta-connect just don’t seem to do anithing for example this is from the scan example:

Morse Scan Demo (Built Nov  3 2025 19:33:45)

Actual SPI CLK 40000kHz

BCF API version:         12.1.0

BCF build version:       fa428d75 8c4dd7f
BCF board description:   {“module”: “mm6108-mf08651-us”,
Morselib version:        2.9.7-esp32
Morse firmware version:  1.16.4
Morse chip ID:           0x0306
Morse chip name:         MM6108A1

Scan started on US channels, Waiting for results…
I (935) main_task: Returned from app_main()

I ran the porting_assitant and got a Verify Busy Pin Error

MM-IoT-SDK Porting Assistant

Memory allocation                                            [ PASS ]
Memory reallocation                                          [ PASS ]
Passage of time                                              [ PASS ]
Task creation and preemption                                 [ PASS ]
WLAN HAL initialisation                                      Actual SPI CLK 40000kHz

Hard reset device
SDIO/SPI Startup                                             [ PASS ]
Read chip id from the MM chip                                [ PASS ]
Verify BUSY pin                                              [ FAIL ]

BUSY pin set HIGH but mmhal_wlan_busy_is_asserted() returned false (expected true)

13 total test steps. 6 passed, 1 failed, 2 no result, 4 skipped

So I’m wondering if the BUSY pin is a issue - maybe why scan is not worting ?

Thanks

Michael

Hi @michaelh
This is because the SEEED Xiao Halow boards do not wire the BUSY pin. The workaround for this is to disable powersave after booting the Chip.
For the porting assistant, you can remove this check.

Thanks I tried mmwlan_set_power_save_mode(MMWLAN_PS_DISABLED) and is gettting further but not finding my AP. I have a Heltec board and it can scan my AP so that tells me the AP is working.

I contacted Seeed support bascially saying your demos don’t work have you tried them. They responded with:

We appreciate your interest in this SDK. However, we would like to let you know that we have not had the opportunity to run the porting_assistantdemo ourselves, as this particular SDK is maintained by Morse Micro. Since they are the primary maintainers, they are in the best position to provide detailed guidance and support for this demo.

Any chance Morse / Seeed can sort this out . Seems like the BUSY is a known issue. Would be helpful to someone testing the hardware to have working examples. I’ve already spent 3 days on this trying to wok out what I am doing wrong. And it would appear I am not doing anything wrong. It just doesn’t work

Hi @michaelh
You will need to do the following:

  1. Download this BCF https://github.com/MorseMicro/morse-firmware/blob/main/bcf/quectel/bcf_fgh100mhaamd.bin
  2. Convert it to an `.mbin` by using https://github.com/MorseMicro/mm-iot-sdk/blob/main/framework/tools/buildsystem/convert-bin-to-mbin.py
  3. Update the pinout to be the same as https://github.com/Seeed-Studio/mm-iot-esp32/blob/main/framework/mm_shims/Kconfig
  4. Ensure that your region must be the same as what is set on your AP

We are aware that this painful, and are actively working on improving our ESP32 support

Thanks

I created the mbin , wasn’t sure about step 3 because I was already using Seed studi mm-iot-esp32. But I changed the BCF file in the sdkconfig.defaults.esp32c3 and sdkconfig.defaults.esp32c6 in examples/scan and examples/sta_connect . And the great news is they worked !!!

2 Likes