1.. _bluetooth-overview: 2 3Overview 4######## 5 6.. contents:: 7 :local: 8 :depth: 2 9 10Since its inception, Zephyr has had a strong focus on Bluetooth and, in 11particular, on Bluetooth Low Energy (BLE). Through the contributions of 12several companies and individuals involved in existing open source 13implementations of the Bluetooth specification (Linux's BlueZ) as well as the 14design and development of BLE radio hardware, the protocol stack in Zephyr has 15grown to be mature and feature-rich, as can be seen in the section below. 16 17Supported Features 18****************** 19 20Zephyr comes integrated with a feature-rich and highly configurable 21Bluetooth stack. 22 23* Bluetooth v5.3 compliant 24 25 * Highly configurable 26 27 * Features, buffer sizes/counts, stack sizes, etc. 28 29 * Portable to all architectures supported by Zephyr (including big and 30 little endian, alignment flavors and more) 31 32 * Support for all combinations of Host and Controller builds: 33 34 * Controller-only (HCI) over UART, SPI, USB and IPC physical transports 35 * Host-only over UART, SPI, and IPC (shared memory) 36 * Combined (Host + Controller) 37 38* Bluetooth-SIG qualified 39 40 * Controller on Nordic Semiconductor hardware 41 * Conformance tests run regularly on all layers 42 43* Bluetooth Low Energy Controller support (LE Link Layer) 44 45 * Unlimited role and connection count, all roles supported 46 * All v5.3 specification features supported (except a few minor items) 47 * Concurrent multi-protocol support ready 48 * Intelligent scheduling of roles to minimize overlap 49 * Portable design to any open BLE radio, currently supports Nordic 50 Semiconductor nRF51 and nRF52, as well as proprietary radios 51 * Supports little and big endian architectures, and abstracts the hard 52 real-time specifics so that they can be encapsulated in a hardware-specific 53 module 54 * Support for Controller (HCI) builds over different physical transports 55 56* Bluetooth Host support 57 58 * Generic Access Profile (GAP) with all possible LE roles 59 60 * Peripheral & Central 61 * Observer & Broadcaster 62 * Multiple PHY support (2Mbit/s, Coded) 63 * Extended Advertising 64 * Periodic Advertising (including Sync Transfer) 65 66 * GATT (Generic Attribute Profile) 67 68 * Server (to be a sensor) 69 * Client (to connect to sensors) 70 * Enhanced ATT (EATT) 71 * GATT Database Hash 72 * GATT Multiple Notifications 73 74 * Pairing support, including the Secure Connections feature from Bluetooth 4.2 75 76 * Non-volatile storage support for permanent storage of Bluetooth-specific 77 settings and data 78 79 * Bluetooth mesh support 80 81 * Relay, Friend Node, Low-Power Node (LPN) and GATT Proxy features 82 * Both Provisioning roles and bearers supported (PB-ADV & PB-GATT) 83 * Foundation Models included 84 * Highly configurable, fits as small as 16k RAM devices 85 86 * IPSP/6LoWPAN for IPv6 connectivity over Bluetooth LE 87 88 * IPSP node sample application 89 90 * Basic Bluetooth BR/EDR (Classic) support 91 92 * Generic Access Profile (GAP) 93 * Logical Link Control and Adaptation Protocol (L2CAP) 94 * Serial Port emulation (RFCOMM protocol) 95 * Service Discovery Protocol (SDP) 96 97 * Clean HCI driver abstraction 98 99 * 3-Wire (H:5) & 5-Wire (H:4) UART 100 * SPI 101 * Local controller support as a virtual HCI driver 102 103 * Verified with multiple popular controllers 104 105* LE Audio in Host and Controller 106 107 * Isochronous channels 108 109 * Full Host support 110 * Initial Controller support 111 112 * Generic Audio Framework 113 114 * Basic Audio Profile 115 116 * Unicast server and client 117 * Broadcast source and sink 118 * Broadcast assistant 119 * Scan delegator 120 121 * Common Audio Profile 122 123 * Acceptor 124 125 * Volume Control Profile, Microphone Control Profile 126 * Call Control Profile, Media Control Profile 127 * Coordinated Set Identification Profile 128