README.md (71f4b58fd72671b27d7da5ff4ebb479a8c1352c8) README.md (16e6ddaccbf694e2e71028d99df1c15ce2b012c1)
1# Welcome to BTstack
2
3BTstack is [BlueKitchen's](https://bluekitchen-gmbh.com) implementation of the official Bluetooth stack.
4It is well suited for small, resource-constraint devices
5such as 8 or 16 bit embedded systems as it is highly configurable and comes with an ultra small memory footprint.
6
7Targeting a variety of platforms is as simple as providing the necessary UART, CPU, and CLOCK implementations. BTstack is currently capable of connecting to Bluetooth-modules via: (H2) HCI USB, (H4) HCI UART + TI's eHCILL, and (H5) HCI Three-Wire UART.
8

--- 11 unchanged lines hidden (view full) ---

20
21**Third-party libraries (FOSS):** [List of used libraries and their licenses](https://github.com/bluekitchen/btstack/blob/develop/3rd-party/README.md)
22
23**Discussion and Community Support:** [BTstack Google Group](https://groups.google.com/group/btstack-dev)
24
25
26### Supported Protocols and Profiles
27
1# Welcome to BTstack
2
3BTstack is [BlueKitchen's](https://bluekitchen-gmbh.com) implementation of the official Bluetooth stack.
4It is well suited for small, resource-constraint devices
5such as 8 or 16 bit embedded systems as it is highly configurable and comes with an ultra small memory footprint.
6
7Targeting a variety of platforms is as simple as providing the necessary UART, CPU, and CLOCK implementations. BTstack is currently capable of connecting to Bluetooth-modules via: (H2) HCI USB, (H4) HCI UART + TI's eHCILL, and (H5) HCI Three-Wire UART.
8

--- 11 unchanged lines hidden (view full) ---

20
21**Third-party libraries (FOSS):** [List of used libraries and their licenses](https://github.com/bluekitchen/btstack/blob/develop/3rd-party/README.md)
22
23**Discussion and Community Support:** [BTstack Google Group](https://groups.google.com/group/btstack-dev)
24
25
26### Supported Protocols and Profiles
27
28**Protocols:** L2CAP (incl. Enhanced Retransmission Mode and LE Data Channels), RFCOMM, SDP, BNEP, AVDTP, AVCTP, ATT, SM (incl. LE Secure Connections and Cross-transport key derivation).
28**Protocols:** L2CAP (incl. Enhanced Retransmission Mode, LE Credit-Based Flow-Control Mode and LE Enhanced Credit-Based Flow-Control Mode), RFCOMM, SDP, BNEP, AVDTP, AVCTP, ATT, SM (incl. LE Secure Connections and Cross-Transport Key Derivation).
29
29
30**Profiles:** A2DP, AVRCP incl. Browsing (CT+TG) and Cover Art (CT), GAP, GATT, HFP, HID, HSP, IOP, OPP, SPP, PAN, PBAP.
30**Profiles:** A2DP, AVRCP incl. Browsing (CT+TG) and Cover Art (CT), GAP, GATT, HFP, HID, HSP, IOP, MAP, OPP, SPP, PAN, PBAP.
31
31
32**GATT Service Servers:** Battery (BAS), Bond Management (BMS), Cycling Power (CPS), Cycling Speed and Cadence (CSCS), Device Information (DID), Heart Rate (HRS), HID over GATT (HIDS) Device , Mesh Provisioning, Mesh Proxy, Nordic SPP, Scan Parameters (SCPS), TX Power (TPS), u-Blox SPP.
32**GATT Service Servers:** Battery (BAS), Bond Management (BMS), Cycling Power (CPS), Cycling Speed and Cadence (CSCS), Device Information (DID), Heart Rate (HRS), HID over GATT (HIDS) Device, Immediate Alert, Link Loss (LLS),
33Mesh Provisioning, Mesh Proxy, Nordic SPP, Scan Parameters (SCPS), TX Power (TPS), u-Blox SPP.
33
34
34**GATT Service Clients:**: ANCS, Battery (BAS), Device Information (DID), HID-over-GATT (HOGP) Host, Scan Parameters (SCPP).
35**GATT Service Clients:**: ANCS, Battery (BAS), Device Information (DID), HID-over-GATT (HOGP) Host, Immediate Alert, Link Loss, Scan Parameters (SCPP), TX Power (TXS).
35
36
36GATT Services are in general easy to implement and require short development time. For more GATT Services please contact us, or follow the [implementation guidelines](https://bluekitchen-gmbh.com/btstack/profiles/#gatt-generic-attribute-profile).
37**LE Audio Profiles**: Object Transfer Profile (OTP), Volume Control Profile (VCP), Microphone Control Profile (MICP), Media Control Profile (MCP), Call Control Profile (CCP),
38Coordinated Set Identification Profile (CSIP), Basic Audio Profile (BAP), Common Audio Profile (CAP), Hearing Access Profile (HAP), Telephony and Media Audio Profile (TMAP),
39Public Broadcast Profile (PBP), Gaming Audio Profile (GMAP)
37
40
38**In Development:** LE Audio and more.
41**LE Audio Services**: Audio Input Control Service (AICS), Volume Offset Control Service (VOCS), Volume Control Service (VCS), Microphone Control Service (MICS),
42Media Control Service (MCS), Generic Media Control Service (GMCS), Telephony Bearer Service (TBS), Coordinated Set Identification Service (CSIS),
43Published Audio Capabilities Service (PACS), Audio Stream Control Service (ASCS), Broadcast Audio Scan Service (BASS), Common Audio Service (CAS), and Hearing Access Service (HAS).
39
44
40It has been qualified with the Bluetooth SIG (QDID 166433) for A2DP 1.3.2, AVCTP 1.4, AVDTP 1.3, AVRCP 1.6.2, DID 1.3, GAVDP 1.3, HFP 1.8, HSP 1.2, PAN 1.0, PBAP Client 1.2, RFCOMM 1.2, SPP 1.2 BR/EDR protocol/profiles,
41BAS 1.0, CPP 1.1, CPS 1.1, CSCP 1.0, CSCS 1.0, DIS 1.1, HIDS 1.0, HOGP 1.0, HRP 1.0, HRS 1.0, SCPP 1.0, SCPS 1.0 GATT profiles as well as and ATT, GAP, GATT, IOP, L2CAP, SDP, SM of the Bluetooth Core 5.2 specification.
45GATT Services are in general easy to implement and require short development time. For more GATT Services please contact us, or follow the [implementation guidelines](https://bluekitchen-gmbh.com/btstack/profiles/#gatt-generic-attribute-profile).
42
46
43For information on Apple's MFi/iAP2 and Find My profiles, please <a href="mailto:[email protected]">contact us directly</a>.
47**Qualification**: BTstack been qualified with the Bluetooth SIG (DN Q331293) for ATT, GAP, GATT, IOP, L2CAP, SDP, SM of the Bluetooth Core 6.0 specification as well as
48A2DP 1.4, AICS 1.0, ASCS 1.0.1, AVCTP 1.4, AVDTP 1.3, AVRCP 1.6.3, BAP 1.0.2, BAS 1.1, BASS 1.0, BAU 1.0, BNEP 1.0, CAP 1.0, CAS 1.0, CCP 1.0, CPP 1.1, CPS 1.1,
49CSCP 1.0, CSCS 1.0, CSIP 1.0.1, CSIS 1.0.1, DID 1.3, DIS 1.1, GAVDP 1.3, GMAP 1.0, GMCS 1.0.1, HAP 1.0, HAS 1.0, HFP 1.9, HID 1.1.1, HIDS 1.0, HOGP 1.0, HRP 1.0,
50HRS 1.0, HSP 1.2, IAS 1.0, LC3 1.0.1, LLS 1.0, MAP 1.4.2, MCP 1.0, MCS 1.0.1, MICP 1.0, MICS 1.0, OPP 1.2.1, OTP 1.0, OTS 1.0, PACS 1.0.1, PANP 1.0, PBAP 1.2.3,
51PBP 1.0, RFCOMM 1.2, SPP 1.2, SPS 1.0, TBS 1.0, TMAP 1.0, TxPS 1.0, VCP 1.0, VCS 1.0, VOCS 1.0.
44
52
53For information on Apple's MFi/iAP2 and Find My profiles or access to LE Audio, MAP, PBAP Server, please <a href="mailto:[email protected]">contact us directly</a>.
54
45## Evaluation Platforms
46
47#### Embedded Platforms:
48| Build Status | Port | Platform |
49|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
50| [<img src="https://buildbot.bluekitchen-gmbh.com/btstack/badges/port-esp32-develop.svg">](https://buildbot.bluekitchen-gmbh.com/btstack/#/builders/port-esp32-develop) | [esp32](https://github.com/bluekitchen/btstack/tree/develop/port/esp32) | [Espressif ESP32](https://www.espressif.com/products/hardware/esp32/overview) 2.4 GHz Wi-Fi and Bluetooth Dual-Mode combo chip using [FreeRTOS](https://www.freertos.org) |
51| [<img src="https://buildbot.bluekitchen-gmbh.com/btstack/badges/port-max32630-fthr-develop.svg">](https://buildbot.bluekitchen-gmbh.com/btstack/#/builders/port-max32630-fthr) | [max32630-fthr](https://github.com/bluekitchen/btstack/tree/develop/port/max32630-fthr) | [MAX32630FTHR ARM Cortex M4F Board](https://www.maximintegrated.com/en/products/digital/microcontrollers/MAX32630FTHR.html) with onboard [Panasonic PAN1326 module](https://na.industrial.panasonic.com/products/wireless-connectivity/bluetooth/multi-mode/series/pan13261316-series/CS467) containing [TI CC2564B Bluetooth controller](https://www.ti.com/product/cc2564) |
52| [<img src="https://buildbot.bluekitchen-gmbh.com/btstack/badges/port-msp432p401lp-cc256x-develop.svg">](https://buildbot.bluekitchen-gmbh.com/btstack/#/builders/port-msp432p401lp-cc256x-develop) | [msp432p401lp-cc256x](https://github.com/bluekitchen/btstack/tree/develop/port/msp432p401lp-cc256x) | [TI MSP432P401R LaunchPad](https://www.ti.com/tool/MSP-EXP432P401R) with [CC2564C Dual-mode Bluetooth® Controller Evaluation Module](https://store.ti.com/CC256XCQFN-EM-CC2564C-Dual-Mode-Bluetooth-Controller-Evaluation-Module-P51277.aspx) and [EM Adapter BoosterPack](https://www.ti.com/tool/boost-ccemadapter) with additional 32768Hz quartz oscillator |

--- 42 unchanged lines hidden (view full) ---

95| Infineon CYW207xx | Dual mode | H4, H5, USB | Probably | bcm | |
96| Infineon CYW20819 | Dual mode | H4, H5, USB | Probably | bcm | Keep CTS high during power cycle |
97| Infineon CYW43xxx | Dual mode + Wifi | H4, H5 | Don't know | bcm | Bluetooth + Wifi Combo Controller |
98| Infineon CYW5557x | Dual mode + Wifi | H4 | Yes | bcm | autobaud-mode needed, see posix-h4-bcm |
99| Infineon PSoC 4 | LE | H4 | n.a. | | HCI Firmware part of PSoC Creator kit examples |
100| Dialog Semiconductor DA145xx | LE | H4, SPI | n.a. | da14581 | Official HCI firmware used |
101| Dialog Semiconductor DA1469x | LE | H4, SPI | n.a | | HCI Firmware part of DA1469x SDK |
102| Espressif ESP32 | Dual mode + Wifi | VHCI, H4 | Yes | | SoC with Bluetooth and Wifi |
55## Evaluation Platforms
56
57#### Embedded Platforms:
58| Build Status | Port | Platform |
59|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
60| [<img src="https://buildbot.bluekitchen-gmbh.com/btstack/badges/port-esp32-develop.svg">](https://buildbot.bluekitchen-gmbh.com/btstack/#/builders/port-esp32-develop) | [esp32](https://github.com/bluekitchen/btstack/tree/develop/port/esp32) | [Espressif ESP32](https://www.espressif.com/products/hardware/esp32/overview) 2.4 GHz Wi-Fi and Bluetooth Dual-Mode combo chip using [FreeRTOS](https://www.freertos.org) |
61| [<img src="https://buildbot.bluekitchen-gmbh.com/btstack/badges/port-max32630-fthr-develop.svg">](https://buildbot.bluekitchen-gmbh.com/btstack/#/builders/port-max32630-fthr) | [max32630-fthr](https://github.com/bluekitchen/btstack/tree/develop/port/max32630-fthr) | [MAX32630FTHR ARM Cortex M4F Board](https://www.maximintegrated.com/en/products/digital/microcontrollers/MAX32630FTHR.html) with onboard [Panasonic PAN1326 module](https://na.industrial.panasonic.com/products/wireless-connectivity/bluetooth/multi-mode/series/pan13261316-series/CS467) containing [TI CC2564B Bluetooth controller](https://www.ti.com/product/cc2564) |
62| [<img src="https://buildbot.bluekitchen-gmbh.com/btstack/badges/port-msp432p401lp-cc256x-develop.svg">](https://buildbot.bluekitchen-gmbh.com/btstack/#/builders/port-msp432p401lp-cc256x-develop) | [msp432p401lp-cc256x](https://github.com/bluekitchen/btstack/tree/develop/port/msp432p401lp-cc256x) | [TI MSP432P401R LaunchPad](https://www.ti.com/tool/MSP-EXP432P401R) with [CC2564C Dual-mode Bluetooth® Controller Evaluation Module](https://store.ti.com/CC256XCQFN-EM-CC2564C-Dual-Mode-Bluetooth-Controller-Evaluation-Module-P51277.aspx) and [EM Adapter BoosterPack](https://www.ti.com/tool/boost-ccemadapter) with additional 32768Hz quartz oscillator |

--- 42 unchanged lines hidden (view full) ---

105| Infineon CYW207xx | Dual mode | H4, H5, USB | Probably | bcm | |
106| Infineon CYW20819 | Dual mode | H4, H5, USB | Probably | bcm | Keep CTS high during power cycle |
107| Infineon CYW43xxx | Dual mode + Wifi | H4, H5 | Don't know | bcm | Bluetooth + Wifi Combo Controller |
108| Infineon CYW5557x | Dual mode + Wifi | H4 | Yes | bcm | autobaud-mode needed, see posix-h4-bcm |
109| Infineon PSoC 4 | LE | H4 | n.a. | | HCI Firmware part of PSoC Creator kit examples |
110| Dialog Semiconductor DA145xx | LE | H4, SPI | n.a. | da14581 | Official HCI firmware used |
111| Dialog Semiconductor DA1469x | LE | H4, SPI | n.a | | HCI Firmware part of DA1469x SDK |
112| Espressif ESP32 | Dual mode + Wifi | VHCI, H4 | Yes | | SoC with Bluetooth and Wifi |
103| Espressif ESP32-S3, ESP32-C3 | LE + Wifi | VHCI, H4 | Yes | | SoC with Bluetooth and Wifi |
113| Espressif ESP32-S3, -C3, -C6, -H2 | LE + Wifi | VHCI, H4 | Yes | | SoC with Bluetooth and Wifi |
104| EM 9301, 9304, 9305 | LE | SPI | n.a. | em9301 | Custom HCI SPI implementation |
105| Intel Dual Wireless 3165, 8260, 8265 | Dual mode | USB | Probably | intel | Firmware size: 400 kB |
106| Nordic nRF | LE | H4 | n.a. | | Requires custom HCI firmware |
107| NXP 88W88997, IW416, IW61x | Dual mode + Wifi | H4 | Yes | nxp | Requires initial firmware |
108| Realtek RTL8822CS | Dual mode + Wifi | H5 | Yes | | Requires initial firmware and config |
109| Realtek USB Dongles | Dual mode + Wifi | USB | Yes | realtek | Requires initial firmware and config |
110| Renesas RX23W | LE | H4 | n.a. | | HCI Firmware part of BTTS |
111| STM STLC2500D | Classic | H4 | No (didn't try) | stlc2500d | Custom deep sleep management not supported |

--- 18 unchanged lines hidden ---
114| EM 9301, 9304, 9305 | LE | SPI | n.a. | em9301 | Custom HCI SPI implementation |
115| Intel Dual Wireless 3165, 8260, 8265 | Dual mode | USB | Probably | intel | Firmware size: 400 kB |
116| Nordic nRF | LE | H4 | n.a. | | Requires custom HCI firmware |
117| NXP 88W88997, IW416, IW61x | Dual mode + Wifi | H4 | Yes | nxp | Requires initial firmware |
118| Realtek RTL8822CS | Dual mode + Wifi | H5 | Yes | | Requires initial firmware and config |
119| Realtek USB Dongles | Dual mode + Wifi | USB | Yes | realtek | Requires initial firmware and config |
120| Renesas RX23W | LE | H4 | n.a. | | HCI Firmware part of BTTS |
121| STM STLC2500D | Classic | H4 | No (didn't try) | stlc2500d | Custom deep sleep management not supported |

--- 18 unchanged lines hidden ---