1.. _bluetooth-features: 2 3Supported features 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 17* Bluetooth v5.3 compliant 18 19 * Highly configurable 20 21 * Features, buffer sizes/counts, stack sizes, etc. 22 23 * Portable to all architectures supported by Zephyr (including big and 24 little endian, alignment flavors and more) 25 26 * Support for :ref:`all combinations <bluetooth-hw-setup>` of Host and 27 Controller builds: 28 29 * Controller-only (HCI) over UART, SPI, USB and IPC physical transports 30 * Host-only over UART, SPI, and IPC (shared memory) 31 * Combined (Host + Controller) 32 33* :ref:`Bluetooth-SIG qualifiable <bluetooth-qual>` 34 35 * Conformance tests run regularly on all layers (Controller and Host, except 36 BT Classic) on Nordic Semiconductor hardware. 37 38* :ref:`Bluetooth Low Energy Controller <bluetooth-ctlr-arch>` (LE Link Layer) 39 40 * Unlimited role and connection count, all roles supported 41 * All v5.3 specification features supported (except a few minor items) 42 * Concurrent multi-protocol support ready 43 * Intelligent scheduling of roles to minimize overlap 44 * Portable design to any open BLE radio, currently supports Nordic 45 Semiconductor nRF52x and nRF53x SoC Series, as well as proprietary radios 46 * Supports little and big endian architectures, and abstracts the hard 47 real-time specifics so that they can be encapsulated in a hardware-specific 48 module 49 * Support for Controller (HCI) builds over different physical transports 50 * Isochronous channels 51 52* :ref:`Bluetooth Host <bluetooth_le_host>` 53 54 * Generic Access Profile (GAP) with all possible LE roles 55 56 * Peripheral & Central 57 * Observer & Broadcaster 58 * Multiple PHY support (2Mbit/s, Coded) 59 * Extended Advertising 60 * Periodic Advertising (including Sync Transfer) 61 62 * GATT (Generic Attribute Profile) 63 64 * Server (to be a sensor) 65 * Client (to connect to sensors) 66 * Enhanced ATT (EATT) 67 * GATT Database Hash 68 * GATT Multiple Notifications 69 70 * Pairing support, including the Secure Connections feature from Bluetooth 4.2 71 72 * Non-volatile storage support for permanent storage of Bluetooth-specific 73 settings and data 74 75 * Bluetooth Mesh support 76 77 * Relay, Friend Node, Low-Power Node (LPN) and GATT Proxy features 78 * Both Provisioning roles and bearers supported (PB-ADV & PB-GATT) 79 * Foundation Models included 80 * Highly configurable, fits as small as 16k RAM devices 81 82 * Basic Bluetooth BR/EDR (Classic) support 83 84 * Generic Access Profile (GAP) 85 * Logical Link Control and Adaptation Protocol (L2CAP) 86 * Serial Port emulation (RFCOMM protocol) 87 * Service Discovery Protocol (SDP) 88 89 * Clean HCI driver abstraction 90 91 * 3-Wire (H:5) & 5-Wire (H:4) UART 92 * SPI 93 * Local controller support as a virtual HCI driver 94 95 * Verified with multiple popular controllers 96 * Isochronous channels 97 * :ref:`LE Audio <bluetooth_le_audio_arch>` 98