Showing results for 
Search instead for 
Did you mean: 

BLUENRG-M0A: Maximum Memory for Services/Characteristics

Senior III


I am working with the Nucleo-f401re with the X-Nucleo-IDB05A2 expansion board for Bluetooth via BlueNRG-M0A module.

I am trying to create services and characteristics for those services and I am trying to understand how the memory allocation portion works. For example, in the following service addition:

ret = aci_gatt_add_serv(UUID_TYPE_128, service_uuid.Service_UUID_128, PRIMARY_SERVICE, 1+3*NumberOfCharacters, &SystemControlServHandle);

If NumberOfCharacters = 6, then it initializes the services without issue. However, with NumberOfCharacters = 60, I get the error 0x1F, which means out of memory. What I do not understand is:

1) How is that memory size defined?

2) How can it be increased?

I know there are Bluetooth apps that share considerable amounts of data (100's of characteristics) and do not experience this issue. Can anyone explain what is happening here?

Senior III

Wanted to bump this thread, as I still don't have an answer.