How to implement a multi-profile BLE server with NimBLE?

User avatar
kozmotronik
Posts: 23
Joined: Wed Jan 29, 2025 8:28 am

How to implement a multi-profile BLE server with NimBLE?

Postby kozmotronik » Sat Nov 01, 2025 8:19 am

Hi everyone!

I have a case where I need to use a custom BLE profile + ESPBLE OTA profile on top of the NimBLE stack within the same project.

I already implemented my custom BLE profile which has its own init functions and callback implementations. However the ESP BLE OTA component also has its own init functions and callback implementations as well. This naturally creates a conflict when I init the ESP BLE OTA component, which ends up with core panic that collapses the application. For example:
Guru Meditation Error: Core 0 panic'ed (Store access fault). Exception was unhandled.
I've been browsing in the ble_ota source code to see if there are some configs that allow to use it just as a stand-alone GATT service, but I couldn't find any useful information. That's why I decided to open this post to get some sights from the Espressif experts.

So, would it be possible to integrate the ESP BLE OTA profile along with my current custom BLE profile? Or should follow a different route?

Thank you!

Who is online

Users browsing this forum: No registered users and 2 guests