Seeed xiao esp32s3 + halow module + mm-iot-esp32 for MQTT Communication

Hi guys,
I wanna make a xiao esp32 as a mqtt client that can publish and subscribe from broker. I am using morselib version 2.6.4-esp32 from seeed xiao page. There is no problem when esp32 do publish a payload to mqtt broker, but it always fail to subscribe the downlink message. i do check the tcpdump in my halow router (halowlink-1 and WuLu) it shows that the esp32 doesn’t resend the ACK.


this is the log of esp32

this is mqtt explorer

can you guys give me some advice to fix it?

We don’t see this issue on our evaluation kits - but will keep trying to reproduce it.

Judging by the “esp32 doesn’t resend the ack” I have a suspicion this may have to do with the powersave configuration on the Seeed boards. As an experiment only, can you add mmwlan_set_power_save_mode(MMWLAN_PS_DISABLED); after app_wlan_start()? I will suggest a more suitable fix if this works so you can keep power save enabled.

1 Like

yup It’s working!
Thanks @ajudge

Thanks for the confirmation! That tells me that when you see the issue, the Morse chip is entering power save but is unable to wake the host.

If you look at the SeeedStudio schematics for the carrier board, you will see the Busy and Wake pins are not routed to the connector!

If you do not require power save, then you can probably proceed with the software workaround I’ve suggested. If you require powersave, you will need to place a 0R resistor at R10 and R17 in the image above. Make sure these pins are correctly configured in the sdkconfig for your project.

it is possible to configure the esp32 as a mesh node with this SDK (mm-iot-esp32)?

Hi @Shidqi_from_Miota

We don’t support mesh with the mm-iot-sdk/mm-iot-esp32 platforms yet.