BLE Service and Characteristic limitations

Hello everyone,

I have one simple question about BLE limitations on Arduino 101 or on a more general point of view :

Except the 20 bytes limit in a characteristic, what are the limitations :

  • Max number of Services ?
  • Max number of Characteristics in a Service ?
  • Max total number of data including all Services and Characteristics ?

In fact, I encounter a limitation problem but I could'nt find any real limit value.

I my application on Arduino 101, I use :

  • A total data size of 448 bytes
  • 6 Services as follows :
  • Service 1 : 9 characteristics
  • Service 2 : 10 characteristics
  • Service 3 : 9 characteristics
  • Service 4 : 6 characteristics
  • Service 5 : 11 characteristics
  • Service 6 : 8 characteristics

The max number of bytes in my Characteristics is 128 bytes and is OK (may be read / write)
The max number of bytes in my Services is 145 bytes and is OK (may also be read / write)

With all these data, the BLE peripheral is not able to start.
If I suppress any of Service, or Characteristic, or several data in a characteristic, then it's Ok.
I can clearly see that it's a size limitation, but I can't find any information about such a limitation.

Thank's in advance for any help and answer.


Hi Patrick,

We are discussing a similar/related issue in my thread as well. Sandeep added a bit more detail there.