This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BLE Notification

Other Parts Discussed in Thread: CC2540

Hi there,

I am working on a project with CC2540 IC. I have a 2 questions that I am still not clear regarding to BLE notification:


1) BLE notifications characteristics can be defined up to 20 bytes. So each time if we would like to send a notification from server to client, server can send up to 20 bytes notification on each connection time interval. Is there any information given on Bluetooth SIG Specifications about max number of bytes for BLE notifications?


2) Can I define let's say 90 byte characteristic with write and notify permissions, and notify 20 bytes of information through it? Or should I define another characteristic separately for notifications?

Thank you guys for your input!

Appreciated your support,

  • Hey dnz,

    dnz said:
    1) BLE notifications characteristics can be defined up to 20 bytes. So each time if we would like to send a notification from server to client, server can send up to 20 bytes notification on each connection time interval. Is there any information given on Bluetooth SIG Specifications about max number of bytes for BLE notifications?

    20 bytes in a notification is the maximum according to the Bluetooth Core Specification. The limitations is actually in the L2CAP channel which is set to 23 Bytes including headers.

    dnz said:
    2) Can I define let's say 90 byte characteristic with write and notify permissions, and notify 20 bytes of information through it? Or should I define another characteristic separately for notifications?

    You could define such a long characteristic but it would be fragmented by lower layers and sent in smaller chunks, by using blob read/write. I'm not familiar with a way to selectively send a snapshot of the characteristic. You should probably create a separate characteristic for notifications and then feed that with data that you have chopped up yourself in application/service layer.

    Best Regards

    Joakim

  • Hi Joakim,

    Thank you for your valuable input. Can you please give me a reference from Bluetooth Core Specification about this 20 byte max length? I was looking for that last 2 days and still could not found.

    Thank you,

  • See following sections;

    Vol3. A. 5.1 MAXIMUM TRANSMISSION UNIT (MTU)

    ...and 23 octets over the LE-U logical link"

    Vol3.A.3.2.8 Exchanging MTU Size

    ATT_MTU is defined as the maximum size of any packet sent between a client
    and a server. A higher layer specification defines the default ATT_MTU value.

     

  • Great Job Joakim!

    Thank you a lot!