# ESP32 SDK Availability

**URL:** <https://community.morsemicro.com/t/esp32-sdk-availability/146>\
**Category:** Embedded\
**Created:** [October 21, 2024, 6:01pm UTC](https://community.morsemicro.com/t/esp32-sdk-availability/146 "2024-10-21T18:01:49Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![PPelgrims](https://avatars.discourse-cdn.com/v4/letter/p/839c29/32.png) [@PPelgrims](https://community.morsemicro.com/u/PPelgrims)\
**Post date:** [October 21, 2024, 6:01pm UTC](https://community.morsemicro.com/t/esp32-sdk-availability/146/1 "2024-10-21T18:01:49Z")

</div>

Dear,  
Is there a how-to build WiFi HaLow for embedded ESP32 and/or STM32 based available ?  
Greetings,  
Patrick

---

<div class="post-metadata">

**Author:** ![Rob](https://sea1.discourse-cdn.com/flex001/user_avatar/community.morsemicro.com/rob/32/45_2.png) [@Rob](https://community.morsemicro.com/u/Rob)\
**Post date:** [October 21, 2024, 9:02pm UTC](https://community.morsemicro.com/t/esp32-sdk-availability/146/2 "2024-10-21T21:02:01Z")

</div>

Hi Patrick,

You can find this information on the customer portal [morsemicro.com](https://www.morsemicro.com/downloads-dashboard/#/software-releases/iot) under `Software Releases/IOT (FreeRTOS)`. There is a reference manual that will run you through how to build some example applications that should allow you to get up and running with HaLow (using the MM-IoT-SDK).

Currently our main host platforms are STM32 based but we do also have an alpha port using the ESP32S3.

---

<div class="post-metadata">

**Author:** ![Axel](https://sea1.discourse-cdn.com/flex001/user_avatar/community.morsemicro.com/axel/32/44_2.png) [@Axel](https://community.morsemicro.com/u/Axel)\
**Post date:** [November 24, 2024, 1:21am UTC](https://community.morsemicro.com/t/esp32-sdk-availability/146/3 "2024-11-24T01:21:08Z")

</div>

> [@Rob](#):
>
> MM-IoT-SDK

I cannot find any example to set AP mode with the SDK.  
It looks like the “MM-IoT-SDK” and “MM-IoT-SDK-esp32” only support STA mode?

---

<div class="post-metadata">

**Author:** ![matt](https://avatars.discourse-cdn.com/v4/letter/m/a6a055/32.png) [@matt](https://community.morsemicro.com/u/matt)\
**Post date:** [November 24, 2024, 11:21pm UTC](https://community.morsemicro.com/t/esp32-sdk-availability/146/4 "2024-11-24T23:21:55Z")

</div>

Hi Axel,

That is correct. At this point in time the MM-IoT-SDK only supports STA mode.

---

<div class="post-metadata">

**Author:** ![Carlos](https://avatars.discourse-cdn.com/v4/letter/c/ecae2f/32.png) [@Carlos](https://community.morsemicro.com/u/Carlos)\
**Post date:** [June 8, 2025, 12:29am UTC](https://community.morsemicro.com/t/esp32-sdk-availability/146/5 "2025-06-08T00:29:17Z")

</div>

Hi,

Does anyone know how to upgrade from **IDF 5.1.1 to at least 5.2**? I’ve noticed significant changes related to **TCP/IP** between these versions.

I’ve been working on an **HTTP client example** , but it seems that either the SDK or IDF 5.1.1 mixes **HTTP with OTA functions** , which is causing errors.

for example this function morse its old, now its need 5 argument

/\* Function to be called as part of the secondary initialization. See [System

- Initialization]([Application Startup Flow - ESP32-S3 - — ESP-IDF Programming Guide latest documentation](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-guides/startup.html#system-initialization))
- for more information. \*/  
ESP\_SYSTEM\_INIT\_FN(mmosal\_dump\_failure\_info, BIT(0), 999)  
{  
if (preserved\_failure\_info.magic == ASSERT\_INFO\_MAGIC)  
{  
mmosal\_dump\_failure\_info();  
}  
return ESP\_OK;  
}

---

<div class="post-metadata">

**Author:** ![Rob](https://sea1.discourse-cdn.com/flex001/user_avatar/community.morsemicro.com/rob/32/45_2.png) [@Rob](https://community.morsemicro.com/u/Rob)\
**Post date:** [June 9, 2025, 10:39pm UTC](https://community.morsemicro.com/t/esp32-sdk-availability/146/7 "2025-06-09T22:39:40Z")

</div>

Hi @Carlos,

Unfortunately the change to enable this hasn’t made it to a public release yet so you’ll need to modify the `mm-iot-esp32` source yourself. There are two small changes to get `mm-iot-esp32` working with the newer IDF versions.

In the in the `idf_component.yml` files you’ll need to update the idf version check from `==5.1.1` to something like. If you are using v5.2 you should just be able to get away with only this change but I haven’t tested that.

```auto
dependencies:
    idf:
        version: "^5.1.1"

```

In `mm-iot-esp32/framework/mm_shims/mmosal_shim_freertos_esp32.c` update with the following. This should allow you to use the latest version of the IDF.

```auto
/* Function to be called as part of the secondary initialization. See [System
 * Initialization](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-guides/startup.html#system-initialization)
 * for more information. */
#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 3, 0)
ESP_SYSTEM_INIT_FN(mmosal_dump_failure_info, SECONDARY, BIT(0), 999)
#else
ESP_SYSTEM_INIT_FN(mmosal_dump_failure_info, BIT(0), 999)
#endif
{
    if (preserved_failure_info.magic == ASSERT_INFO_MAGIC)
    {
        mmosal_dump_failure_info();
    }
    return ESP_OK;
}

```

---

<div class="post-metadata">

**Author:** ![Carlos](https://avatars.discourse-cdn.com/v4/letter/c/ecae2f/32.png) [@Carlos](https://community.morsemicro.com/u/Carlos)\
**Post date:** [June 10, 2025, 1:28am UTC](https://community.morsemicro.com/t/esp32-sdk-availability/146/8 "2025-06-10T01:28:48Z")

</div>

> [@Rob](#):
>
> In `mm-iot-esp32/framework/mm_shims/mmosal_shim_freertos_esp32.c` update with the following. This should allow you to use the latest version of the IDF.

Thanks Rob, Great it’s working!
