This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Of what does a notification package consist? ( Packet Structure )

I mean what kind of header information and stuff besides the data. I could only find this for advertising packets.

A graphic or list like this would be nice:

byte 0-1 // byte 2-30 // byte 31

sendername // data // crc

and a citable source :)

Parents Reply Children
  • I was told that when using UART the payload is maximum 20 bytes per transmission. According to this graphic (m.eet.com/.../bluefig2.gif) it appears that the payload is up to 37 bytes large. If i substract the 6 bytes for payload length, L2CAP Length, 0x0004 (ATT) and Attribute Opcode I would expect to be left with roughly 31 bytes. Where do the missing 11 bytes per transmission in the UART app go?

  • Hi John, 20 bytes is available payload on top of GATT layer in case you are using default MTU size (ATT_MTU = 23 bytes, 3 bytes are GATT protocol overhead). I'm not sure how exactly NUS (Nordic's UART Service) works but with latest SoftDevice (Nordic BLE stack implementation) S132 V3.0.0 you can support larger ATT_MTU size. The topic discussed in my answer is living on lower (Link) layer and there PDU has always 37 bytes (just upper layers such as ATT can fragment and transport larger messages on top of them). The infographic in you hyperlink corresponds to first slide linked by me above. Have you seen the whole presentation I've suggested above? Do you have understanding how whole BT Smart stack works?

    Cheers Jan

  • Unfortunately I was unable to see the presentation as it requires a membership, which is not available to individuals. Also, I indeed do not understand the BT smart stack in detail. My goal was document my work by drawing a graphic of the BT LE packet to visualize how much space my 8 bytes of data take up in the PDU and where they are located. To complete the graphic I wanted to also show the space available for further data. However, I am lacking the information what else is filling up the PDU. I will start reading into BT smart in more detail, which I was hoping I could avoid initially, but now seems to make sense. And thanks for your answer!

  • Oh sorry, you are right. I still believe it shouldn't be a big deal of setting up the membership even as single person but I can understand that you don't want to deal with it. Hard to recommend other sources (I mean there are plenty of books and internet articles of course, hard to pick the good one), I found this presentation as fastest and most comprehensive intro to BT LE (as of BT SIG Core 4.0)... If you see middle picture in my post then you see structure of packet at ATTribute Protocol Layer. Three more bytes are "stolen" as overhead from it at the beginning of payload: ATT Opcode (1byte - you see it on the picture already) and ATT Handle ID (2 bytes).

    Cheers Jan

    (Btw. it seems that someone has solved your problem with Low Energy Training presentation on GitHub)

Related