# Resources for Bluetooth Low Energy

Published:

This page summarizes resources for Classic Bluetooth and Bluetooth Low Energy. It is still under active update.

# Overview

There is some confusion about the Bluetooth. Generally speaking, Bluetooth 1.0 - 3.0 includes classic Bluetooth. Bluetooth 4.0 starts to use Bluetooth Low Energy (BLE). A brief introduction about their difference can be found at link1, link2 and link3.

New features of Bluetooth 5 can be found here. The full and latest specification, v5.2 (released in 2019) can be downloaded here.

Unless otherwise highlighted, the following descriptions apply to BLE, which might not be correct for classic Bluetooth.

# Protocol Overview

Visit MATLAB Bluetooth Protocol Stack for a detailed introduction about the Bluetooth and BLE protocol, and a mapping between them and the OSI model.

Figure from https://uk.mathworks.com/help/comm/ug/bluetooth-protocol-stack.html.

Some brief introduction of the protocol can be found at the Microchip Developer Center. The BLE protocol stack consists of

• Controller (Physical Layer and Link Layer)
• Host
• Application

# Physical Layer

Some key features of the BLE physical layer

• 2.4GHz ISM band. The band between 2.402 GHz to 2.4835 GHz is divided into 40 channels with 2 MHz channel spacing, $f_k = 2402 + k*2 MHz, k = 0, 1, …, 39$
• The 40 channels are divided into advertising channels (Ch. 37, 38, and 39) and 37 data channels (Ch. 0-36).
• Gaussian Frequency-Shift Keying (GFSK).
• Adaptive Frequency Hopping for data channels. The channel selection algorithms can be found in Section 4.5.8 of Part B vol. 6. There are two algorithms defined and the algorithm#1 selects the channel as $f_{n+1} = (f_n + hop)$ mod 37, where hop ranges from 5-16.

## Preamble

The preamble defined in BLE v5.2:

• LE IM packets (8 bits): 10101101, or 01010101
• LE 2M packets (16 bits): 1010110110101101, or 0101010101010101 Preamble is used for frequency synchronization, symbol timing and automatic gain control. Visit Page 2865 Section 2.1.1 Vol 6, Part B of the Bluetooth Core Specification v5.2.

• Connection
• Network Topology - Piconet
• Security - AES - CCM

Channel 37, 38 and 39

• Device Discovery
• Connection Establishment

## Data Channel

Channel 0-36

• Data transmissions
• Frequency hopping is used to select different channels.

## Packet Type

The same packet format for both

• Data channel packets

BLE Packet Type. Figure from https://microchipdeveloper.com/wireless:ble-link-layer-packet-types

## Discovery Process

• Scan interval: 50 ms
• Scan window: 25 ms

# Bluetooth Stack and Development Kit

## Micropython

Note: The module is still under development and its classes, functions, methods and constants are subject to change. It only supports the basic BLE functions.

## Matlab Bluetooth Support

Matlab has also provided simulation support for Bluetooth and BLE. Visit Communications Toolbox Library for the Bluetooth Protocol support package for more information.

Tags:

Categories: