SlideShare a Scribd company logo
1 of 17
Download to read offline
Bluetooth Low Energy (BLE)
Packet Format
Winfred LU
AMG GCSA
STMicroelectronics
BLE Protocol Stack
Link Layer Packet Format
1 byte 4 bytes 2 – 39 (33*) bytes 3 bytes
Preamble Access Address Protocol Data Unit (PDU) CRC
Data Channel PDUAdvertising Channel PDU
2 bytes 6 – 37 bytes
Header Payload
2 bytes 0 – 27 bytes 4 bytes
Header Payload MIC*
* 33 bytes for Data Channel PDUs w/o DPLE
* MIC: Message Integrity Check (option)
• Advertising Payload
• Scan Request/Response Payload
• Connection Request Payload
• Link Layer Control Payload
• Data Payload
Advertising Channel Packets
Advertising Packet
1 byte 4 bytes ≤ 39 bytes 3 bytes
Preamble Access Address Protocol Data Unit (PDU) CRC
2 bytes 6 – 37 bytes
Header Advertising payload
6 bytes 0 – 31 bytes
ADV Address Advertising Data
AD0 AD … … ADn
Advertising Channel PDU
0x8E89BED6
1 byte 1 byte AD Length (≤ 29 bytes)
AD Length AD Type AD Data
4 bits 2 bits 1 bit 1 bit 6 bits 2 bits
PDU type RFU TxAdd RxAdd Length RFU
0xAA
0
0000 ADV_IND
0001 ADV_DIRECT_IND
0010 ADV_NONCONN_IND
0011 SCAN_REQ
0100 SCAN_RSP
0101 CONNECT_REQ
0110 ADV_SCAN_IND
Scan Request
1 byte 4 bytes ≤ 39 bytes 3 bytes
Preamble Access Address Protocol Data Unit (PDU) CRC
2 bytes 12 bytes
Header Scan Request payload
6 bytes 6 bytes
Scanner Address Advertising Address
Advertising Channel PDU
0x8E89BED6
4 bits 2 bits 1 bit 1 bit 6 bits 2 bits
PDU type RFU TxAdd RxAdd Length RFU
0xAA
123
0000 ADV_IND
0001 ADV_DIRECT_IND
0010 ADV_NONCONN_IND
0011 SCAN_REQ
0100 SCAN_RSP
0101 CONNECT_REQ
0110 ADV_SCAN_IND
Connection Request
1 byte 4 bytes ≤ 39 bytes 3 bytes
Preamble Access Address Protocol Data Unit (PDU) CRC
2 bytes 34 bytes
Header Connection Request payload
6 bytes 6 bytes 22 bytes
Initiator Address Advertising Address Link Layer Data
Advertising Channel PDU
0x8E89BED6
4 bits 2 bits 1 bit 1 bit 6 bits 2 bits
PDU type RFU TxAdd RxAdd Length RFU
0xAA
5 34
4 bytes 3 bytes 1 byte 2 bytes 2 bytes 2 bytes 2 bytes 5 bytes 5 bits 3 bits
AA CRCInit WinSize WinOffset Interval Latency Timeout ChM Hop SCA
5 - 16
for data channel PDUs
0000 ADV_IND
0001 ADV_DIRECT_IND
0010 ADV_NONCONN_IND
0011 SCAN_REQ
0100 SCAN_RSP
0101 CONNECT_REQ
0110 ADV_SCAN_IND
Advertising Packet : iBeacon
1 byte 4 bytes ≤ 39 bytes 3 bytes
Preamble Access Address Protocol Data Unit (PDU) CRC
2 bytes 36 bytes
Header Advertising payload
6 bytes 30 bytes
ADV Address Advertising Data
AD0 AD1
Advertising Channel PDU
0x8E89BED6
1 byte 1 byte 1 byte
AD
Length
AD
Type
Flags
4 bits 2 bits 1 bit 1 bit 6 bits 2 bits
PDU type RFU TxAdd RxAdd Length RFU
0xAA
0x02 0x01 0x06
1 byte 1 byte 2 bytes 1 byte 1 byte 16 bytes 2 bytes 2 bytes 1 byte
AD
Length
AD
Type
Com. ID
iBcn
Type
iBcn
Length
Proximity UUID Major Minor
TX
power
0x1A 0xFF 0x004C 0x02 0x15
Manufacturer specific Apple, Inc.
b0: limited discoverable
b1: general discoverable
b2: BR/EDR supported
b3: BR/EDR controller
b4: BR/EDR host
Proximity beacon
Tx Power
• at 1 m for iBeacon
• at 0 m for Eddystone
Advertising Packet : Eddystone Beacon
1 byte 4 bytes ≤ 39 bytes 3 bytes
Preamble Access Address Protocol Data Unit (PDU) CRC
2 bytes ≤ 37 bytes
Header Advertising payload
6 bytes ≤ 31 bytes
ADV Address Advertising Data
AD0 AD1 AD2
Advertising Channel PDU
0x8E89BED6
1 byte 1 byte 1 byte
AD
Length
AD
Type
Flags
4 bits 2 bits 1 bit 1 bit 6 bits 2 bits
PDU type RFU TxAdd RxAdd Length RFU
0xAA
0x02 0x01 0x06
1 byte 1 byte 2 bytes ≤ 20 bytes
AD
Length
AD
Type
Eddystone
UUID
Eddystone Frame
1 byte 1 byte 2 bytes
AD
Length
AD
Type
Eddystone
UUID
0x03 0x03 0xFEAA • UID frame
• URL frame
• TLM frame
0x16 0xFEAA
Eddystone Beacon Cont.
6 bytes ≤ 31 bytes
ADV Address Advertising Data
AD0 AD1 AD2
1 byte 1 byte 1 byte
AD
Length
AD
Type
Flags
0x02 0x01 0x06
1 byte 1 byte 2 bytes ≤ 20 bytes
AD
Length
AD
Type
Eddystone
UUID
Eddystone Frame
1 byte 1 byte 2 bytes
AD
Length
AD
Type
Eddystone
UUID
0x03 0x03 0xFEAA 0x16 0xFEAA
1 byte 1 byte 2 bytes 2 bytes 4 bytes 4 bytes
Frame
Type
Version
Battery
Voltage
Beacon
Temp
Adv PDU Count
since boot
Time since boot
1 byte 1 byte 1 byte 0 – 17 bytes
Frame
Type
Tx
Power
URL
Schem
Encoded URL
1 byte 1 byte 10 bytes 6 bytes 2 bytes
Frame
Type
Tx
Power
Namespace ID Instance ID RFU
0x00
0x10
0x20 0x00
UID frame
URL frame
TLM frame
Tx Power
• at 1 m for iBeacon
• at 0 m for Eddystone
Not covered:
• EID frame
• Type = 0x30
• Encrypted TLM
• Version = 0x01
Data Channel Packets
Link Layer Control Packet
1 byte 4 bytes 2 – 29 bytes 3 bytes
Preamble Access Address Protocol Data Unit (PDU) CRC
Data Channel PDU
2 bytes 0 – 27 bytes
Header Data payload
2 bits 1 bit 1 bit 1 bit 3 bits 8 bits
LLID NESN SN MD RFU Length
0xAA 0~
or
0x55 1~
01: LL Data PDU – Continuation or Empty
10: LL Data PDU – Start of message
11: LL Control PDU
3
1 byte 0 – 26 bytes
Opcode Control Data
0x00: LL_CONNECTION_UPDATE_IND
0x01: LL_CHANNEL_MAP_IND
0x02: LL_TERMINATE_IND
……: Refer to Spec 6,B,2.4.2
Data Packet
1 byte 4 bytes 2 – 257 (33*) bytes 3 bytes
Preamble Access Address Protocol Data Unit (PDU) CRC
2 bytes ≤ 251 (27*) bytes
Header Data payload
* 39,33,27,23: without DPLE
* MIC: Message Integrity Check
4 bytes ≤ 247 (23*) bytes ≤ 251 (27*) w/o MIC
L2CAP Header
1 byte ≤ 246 (22*) bytes ≤ 250 (26*) w/o MIC
Opcode Data
L2CAP protocol PDU
Data Channel PDU
ATT protocol PDU
0xAA 0~
or
0x55 1~ 4 bytes
MIC*
LE Data Packet Length Extension (DPLE)
1 byte 4 bytes 2 – 257 (33*) bytes 3 bytes
Preamble Access Address Protocol Data Unit (PDU) CRC
2 bits 1 bit 1 bit 1 bit 3 bits 5 bits 3 bits
LLID NESN SN MD RFU Length RFU
Data Channel PDU
2 bytes ≤ 255 (31*) bytes
Header Data payload, including optional MIC
2 bits 1 bit 1 bit 1 bit 3 bits 8 bits
LLID NESN SN MD RFU Length
Core Spec 4.1
• Max length = 11111b = 31
Core Spec 4.2
• Max length = 11111111b = 255
0xAA 0~
or
0x55 1~
01: LL Data PDU – Continuation or Empty
10: LL Data PDU – Start of message
11: LL Control PDU
* 33, 31: without DPLE
L2CAP Fragmentations (w/o DPLE)
1 byte 4 bytes ≤ 33 bytes 3 bytes
Preamble Access Address Protocol Data Unit (PDU) CRC
0xAA 0~
or
0x55 1~ 2 bytes ≤ 27 bytes
Header Data payloadData Channel PDU
4 bytes
MIC*
4 bytes 23 bytes
L2CAP Header ATT protocol PDU
27 bytes
ATT protocol PDU
L2CAP protocol PDU
27 bytes or less
ATT protocol PDU
……..
Fragment 1
Fragment 2
Fragment n
2 bytes 2 bytes
Length Channel IDL2CAP Header
≤ ATT_MTU (up to 512)
Attribute (ATT) Protocol PDU
1 byte ≤ ATT_MTU - 1
Opcode Data
ATT protocol PDU
Attribute Parameters
12 bytes
Authentication Signature
2 bytes 2 or 16 bytes variable length implementation specific
Attribute Handle Attribute Type Attribute Value Attribute Permissions
1 0x2800 0x1801 Read
2 0x2803 20 03 00 05 2a Read
… …
Thank you

More Related Content

What's hot

Introduction to Bluetooth Low Energy
Introduction to Bluetooth Low EnergyIntroduction to Bluetooth Low Energy
Introduction to Bluetooth Low EnergyNEEVEE Technologies
 
Introduction to the Data Link Layer
Introduction to the Data Link LayerIntroduction to the Data Link Layer
Introduction to the Data Link LayerMeenakshi Paul
 
디지털통신 7
디지털통신 7디지털통신 7
디지털통신 7KengTe Liao
 
Fundamental of Quality of Service(QoS)
Fundamental of Quality of Service(QoS) Fundamental of Quality of Service(QoS)
Fundamental of Quality of Service(QoS) Reza Farahani
 
Point To Point Protocol
Point To Point ProtocolPoint To Point Protocol
Point To Point ProtocolPhan Vuong
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Peter R. Egli
 
wireless network IEEE 802.11
 wireless network IEEE 802.11 wireless network IEEE 802.11
wireless network IEEE 802.11Shreejan Acharya
 
Multiband Transceivers - [Chapter 7] Multi-mode/Multi-band GSM/GPRS/TDMA/AMP...
Multiband Transceivers - [Chapter 7]  Multi-mode/Multi-band GSM/GPRS/TDMA/AMP...Multiband Transceivers - [Chapter 7]  Multi-mode/Multi-band GSM/GPRS/TDMA/AMP...
Multiband Transceivers - [Chapter 7] Multi-mode/Multi-band GSM/GPRS/TDMA/AMP...Simen Li
 
An overview of TCP (Transmission Control Protocol)
An overview of TCP (Transmission Control Protocol)An overview of TCP (Transmission Control Protocol)
An overview of TCP (Transmission Control Protocol)Ammad Marwat
 
TCP - Transmission Control Protocol
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
TCP - Transmission Control ProtocolPeter R. Egli
 

What's hot (20)

Introduction to Bluetooth Low Energy
Introduction to Bluetooth Low EnergyIntroduction to Bluetooth Low Energy
Introduction to Bluetooth Low Energy
 
6lowpan
6lowpan6lowpan
6lowpan
 
VIT 5-2014
VIT 5-2014VIT 5-2014
VIT 5-2014
 
Introduction to the Data Link Layer
Introduction to the Data Link LayerIntroduction to the Data Link Layer
Introduction to the Data Link Layer
 
디지털통신 7
디지털통신 7디지털통신 7
디지털통신 7
 
Sdh total final
Sdh total finalSdh total final
Sdh total final
 
Fundamental of Quality of Service(QoS)
Fundamental of Quality of Service(QoS) Fundamental of Quality of Service(QoS)
Fundamental of Quality of Service(QoS)
 
SDH presentation
SDH presentationSDH presentation
SDH presentation
 
Cisco ospf
Cisco ospf Cisco ospf
Cisco ospf
 
SDH BASICS
SDH BASICSSDH BASICS
SDH BASICS
 
Point To Point Protocol
Point To Point ProtocolPoint To Point Protocol
Point To Point Protocol
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
 
Wireshark ppt
Wireshark pptWireshark ppt
Wireshark ppt
 
wireless network IEEE 802.11
 wireless network IEEE 802.11 wireless network IEEE 802.11
wireless network IEEE 802.11
 
Multiband Transceivers - [Chapter 7] Multi-mode/Multi-band GSM/GPRS/TDMA/AMP...
Multiband Transceivers - [Chapter 7]  Multi-mode/Multi-band GSM/GPRS/TDMA/AMP...Multiband Transceivers - [Chapter 7]  Multi-mode/Multi-band GSM/GPRS/TDMA/AMP...
Multiband Transceivers - [Chapter 7] Multi-mode/Multi-band GSM/GPRS/TDMA/AMP...
 
802 15-4 tutorial
802 15-4 tutorial802 15-4 tutorial
802 15-4 tutorial
 
Protocols for IoT
Protocols for IoTProtocols for IoT
Protocols for IoT
 
TCP timers.ppt
TCP timers.pptTCP timers.ppt
TCP timers.ppt
 
An overview of TCP (Transmission Control Protocol)
An overview of TCP (Transmission Control Protocol)An overview of TCP (Transmission Control Protocol)
An overview of TCP (Transmission Control Protocol)
 
TCP - Transmission Control Protocol
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
TCP - Transmission Control Protocol
 

Similar to Bluetooth Low Energy Packet Format

Similar to Bluetooth Low Energy Packet Format (20)

Networking Ethernet
Networking EthernetNetworking Ethernet
Networking Ethernet
 
Outcome6
Outcome6Outcome6
Outcome6
 
network fundamental
network fundamentalnetwork fundamental
network fundamental
 
Ipspk1
Ipspk1Ipspk1
Ipspk1
 
TCP vs UDP in OSI model Computer Network
TCP vs UDP in OSI model  Computer NetworkTCP vs UDP in OSI model  Computer Network
TCP vs UDP in OSI model Computer Network
 
10 coms 525 tcpip - internet protocol - ip
10   coms 525 tcpip -  internet protocol - ip10   coms 525 tcpip -  internet protocol - ip
10 coms 525 tcpip - internet protocol - ip
 
Controller Area Network(CAN)
Controller Area Network(CAN)Controller Area Network(CAN)
Controller Area Network(CAN)
 
Chapter 01 - Overview
Chapter 01 - OverviewChapter 01 - Overview
Chapter 01 - Overview
 
Ccna pres
Ccna presCcna pres
Ccna pres
 
Networking
Networking Networking
Networking
 
12 ethernet-wifi
12 ethernet-wifi12 ethernet-wifi
12 ethernet-wifi
 
MIB_in_LTE_vs_NBIoT
MIB_in_LTE_vs_NBIoTMIB_in_LTE_vs_NBIoT
MIB_in_LTE_vs_NBIoT
 
Presentation of the IEEE 802.11a MAC Layer
Presentation of the IEEE 802.11a MAC LayerPresentation of the IEEE 802.11a MAC Layer
Presentation of the IEEE 802.11a MAC Layer
 
Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)
 
F-Bus Protocol - R.D.Sivakumar
F-Bus Protocol - R.D.SivakumarF-Bus Protocol - R.D.Sivakumar
F-Bus Protocol - R.D.Sivakumar
 
J1939 presentation by Simma Software
J1939 presentation by Simma SoftwareJ1939 presentation by Simma Software
J1939 presentation by Simma Software
 
J1939 presentation by Simma Software
J1939 presentation by Simma SoftwareJ1939 presentation by Simma Software
J1939 presentation by Simma Software
 
TCP/IP Basics
TCP/IP BasicsTCP/IP Basics
TCP/IP Basics
 
Networking basics
Networking basicsNetworking basics
Networking basics
 
Network Protocol Analysis
Network Protocol AnalysisNetwork Protocol Analysis
Network Protocol Analysis
 

Recently uploaded

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Recently uploaded (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

Bluetooth Low Energy Packet Format

  • 1. Bluetooth Low Energy (BLE) Packet Format Winfred LU AMG GCSA STMicroelectronics
  • 3. Link Layer Packet Format 1 byte 4 bytes 2 – 39 (33*) bytes 3 bytes Preamble Access Address Protocol Data Unit (PDU) CRC Data Channel PDUAdvertising Channel PDU 2 bytes 6 – 37 bytes Header Payload 2 bytes 0 – 27 bytes 4 bytes Header Payload MIC* * 33 bytes for Data Channel PDUs w/o DPLE * MIC: Message Integrity Check (option) • Advertising Payload • Scan Request/Response Payload • Connection Request Payload • Link Layer Control Payload • Data Payload
  • 5. Advertising Packet 1 byte 4 bytes ≤ 39 bytes 3 bytes Preamble Access Address Protocol Data Unit (PDU) CRC 2 bytes 6 – 37 bytes Header Advertising payload 6 bytes 0 – 31 bytes ADV Address Advertising Data AD0 AD … … ADn Advertising Channel PDU 0x8E89BED6 1 byte 1 byte AD Length (≤ 29 bytes) AD Length AD Type AD Data 4 bits 2 bits 1 bit 1 bit 6 bits 2 bits PDU type RFU TxAdd RxAdd Length RFU 0xAA 0 0000 ADV_IND 0001 ADV_DIRECT_IND 0010 ADV_NONCONN_IND 0011 SCAN_REQ 0100 SCAN_RSP 0101 CONNECT_REQ 0110 ADV_SCAN_IND
  • 6. Scan Request 1 byte 4 bytes ≤ 39 bytes 3 bytes Preamble Access Address Protocol Data Unit (PDU) CRC 2 bytes 12 bytes Header Scan Request payload 6 bytes 6 bytes Scanner Address Advertising Address Advertising Channel PDU 0x8E89BED6 4 bits 2 bits 1 bit 1 bit 6 bits 2 bits PDU type RFU TxAdd RxAdd Length RFU 0xAA 123 0000 ADV_IND 0001 ADV_DIRECT_IND 0010 ADV_NONCONN_IND 0011 SCAN_REQ 0100 SCAN_RSP 0101 CONNECT_REQ 0110 ADV_SCAN_IND
  • 7. Connection Request 1 byte 4 bytes ≤ 39 bytes 3 bytes Preamble Access Address Protocol Data Unit (PDU) CRC 2 bytes 34 bytes Header Connection Request payload 6 bytes 6 bytes 22 bytes Initiator Address Advertising Address Link Layer Data Advertising Channel PDU 0x8E89BED6 4 bits 2 bits 1 bit 1 bit 6 bits 2 bits PDU type RFU TxAdd RxAdd Length RFU 0xAA 5 34 4 bytes 3 bytes 1 byte 2 bytes 2 bytes 2 bytes 2 bytes 5 bytes 5 bits 3 bits AA CRCInit WinSize WinOffset Interval Latency Timeout ChM Hop SCA 5 - 16 for data channel PDUs 0000 ADV_IND 0001 ADV_DIRECT_IND 0010 ADV_NONCONN_IND 0011 SCAN_REQ 0100 SCAN_RSP 0101 CONNECT_REQ 0110 ADV_SCAN_IND
  • 8. Advertising Packet : iBeacon 1 byte 4 bytes ≤ 39 bytes 3 bytes Preamble Access Address Protocol Data Unit (PDU) CRC 2 bytes 36 bytes Header Advertising payload 6 bytes 30 bytes ADV Address Advertising Data AD0 AD1 Advertising Channel PDU 0x8E89BED6 1 byte 1 byte 1 byte AD Length AD Type Flags 4 bits 2 bits 1 bit 1 bit 6 bits 2 bits PDU type RFU TxAdd RxAdd Length RFU 0xAA 0x02 0x01 0x06 1 byte 1 byte 2 bytes 1 byte 1 byte 16 bytes 2 bytes 2 bytes 1 byte AD Length AD Type Com. ID iBcn Type iBcn Length Proximity UUID Major Minor TX power 0x1A 0xFF 0x004C 0x02 0x15 Manufacturer specific Apple, Inc. b0: limited discoverable b1: general discoverable b2: BR/EDR supported b3: BR/EDR controller b4: BR/EDR host Proximity beacon Tx Power • at 1 m for iBeacon • at 0 m for Eddystone
  • 9. Advertising Packet : Eddystone Beacon 1 byte 4 bytes ≤ 39 bytes 3 bytes Preamble Access Address Protocol Data Unit (PDU) CRC 2 bytes ≤ 37 bytes Header Advertising payload 6 bytes ≤ 31 bytes ADV Address Advertising Data AD0 AD1 AD2 Advertising Channel PDU 0x8E89BED6 1 byte 1 byte 1 byte AD Length AD Type Flags 4 bits 2 bits 1 bit 1 bit 6 bits 2 bits PDU type RFU TxAdd RxAdd Length RFU 0xAA 0x02 0x01 0x06 1 byte 1 byte 2 bytes ≤ 20 bytes AD Length AD Type Eddystone UUID Eddystone Frame 1 byte 1 byte 2 bytes AD Length AD Type Eddystone UUID 0x03 0x03 0xFEAA • UID frame • URL frame • TLM frame 0x16 0xFEAA
  • 10. Eddystone Beacon Cont. 6 bytes ≤ 31 bytes ADV Address Advertising Data AD0 AD1 AD2 1 byte 1 byte 1 byte AD Length AD Type Flags 0x02 0x01 0x06 1 byte 1 byte 2 bytes ≤ 20 bytes AD Length AD Type Eddystone UUID Eddystone Frame 1 byte 1 byte 2 bytes AD Length AD Type Eddystone UUID 0x03 0x03 0xFEAA 0x16 0xFEAA 1 byte 1 byte 2 bytes 2 bytes 4 bytes 4 bytes Frame Type Version Battery Voltage Beacon Temp Adv PDU Count since boot Time since boot 1 byte 1 byte 1 byte 0 – 17 bytes Frame Type Tx Power URL Schem Encoded URL 1 byte 1 byte 10 bytes 6 bytes 2 bytes Frame Type Tx Power Namespace ID Instance ID RFU 0x00 0x10 0x20 0x00 UID frame URL frame TLM frame Tx Power • at 1 m for iBeacon • at 0 m for Eddystone Not covered: • EID frame • Type = 0x30 • Encrypted TLM • Version = 0x01
  • 12. Link Layer Control Packet 1 byte 4 bytes 2 – 29 bytes 3 bytes Preamble Access Address Protocol Data Unit (PDU) CRC Data Channel PDU 2 bytes 0 – 27 bytes Header Data payload 2 bits 1 bit 1 bit 1 bit 3 bits 8 bits LLID NESN SN MD RFU Length 0xAA 0~ or 0x55 1~ 01: LL Data PDU – Continuation or Empty 10: LL Data PDU – Start of message 11: LL Control PDU 3 1 byte 0 – 26 bytes Opcode Control Data 0x00: LL_CONNECTION_UPDATE_IND 0x01: LL_CHANNEL_MAP_IND 0x02: LL_TERMINATE_IND ……: Refer to Spec 6,B,2.4.2
  • 13. Data Packet 1 byte 4 bytes 2 – 257 (33*) bytes 3 bytes Preamble Access Address Protocol Data Unit (PDU) CRC 2 bytes ≤ 251 (27*) bytes Header Data payload * 39,33,27,23: without DPLE * MIC: Message Integrity Check 4 bytes ≤ 247 (23*) bytes ≤ 251 (27*) w/o MIC L2CAP Header 1 byte ≤ 246 (22*) bytes ≤ 250 (26*) w/o MIC Opcode Data L2CAP protocol PDU Data Channel PDU ATT protocol PDU 0xAA 0~ or 0x55 1~ 4 bytes MIC*
  • 14. LE Data Packet Length Extension (DPLE) 1 byte 4 bytes 2 – 257 (33*) bytes 3 bytes Preamble Access Address Protocol Data Unit (PDU) CRC 2 bits 1 bit 1 bit 1 bit 3 bits 5 bits 3 bits LLID NESN SN MD RFU Length RFU Data Channel PDU 2 bytes ≤ 255 (31*) bytes Header Data payload, including optional MIC 2 bits 1 bit 1 bit 1 bit 3 bits 8 bits LLID NESN SN MD RFU Length Core Spec 4.1 • Max length = 11111b = 31 Core Spec 4.2 • Max length = 11111111b = 255 0xAA 0~ or 0x55 1~ 01: LL Data PDU – Continuation or Empty 10: LL Data PDU – Start of message 11: LL Control PDU * 33, 31: without DPLE
  • 15. L2CAP Fragmentations (w/o DPLE) 1 byte 4 bytes ≤ 33 bytes 3 bytes Preamble Access Address Protocol Data Unit (PDU) CRC 0xAA 0~ or 0x55 1~ 2 bytes ≤ 27 bytes Header Data payloadData Channel PDU 4 bytes MIC* 4 bytes 23 bytes L2CAP Header ATT protocol PDU 27 bytes ATT protocol PDU L2CAP protocol PDU 27 bytes or less ATT protocol PDU …….. Fragment 1 Fragment 2 Fragment n 2 bytes 2 bytes Length Channel IDL2CAP Header ≤ ATT_MTU (up to 512)
  • 16. Attribute (ATT) Protocol PDU 1 byte ≤ ATT_MTU - 1 Opcode Data ATT protocol PDU Attribute Parameters 12 bytes Authentication Signature 2 bytes 2 or 16 bytes variable length implementation specific Attribute Handle Attribute Type Attribute Value Attribute Permissions 1 0x2800 0x1801 Read 2 0x2803 20 03 00 05 2a Read … …