# Resources for Bluetooth

Published:

This page summarizes resources for Bluetooth. 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.

If not highlighted, the following descriptions only apply to BLE.

# Protocol

Some brief introduction of the protocol can be found at the Microchip Developer Center and Matlab Bluetooth Protocol Stack.

Figure from https://microchipdeveloper.com/wireless:ble-introduction

## 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.
• 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.

Figure from https://microchipdeveloper.com/wireless:ble-introduction

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

# 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.

Tags:

Categories: