SkillAgentSearch skills...

Btstack

Dual-mode Bluetooth stack, with small memory footprint.

Install / Use

/learn @bluekitchen/Btstack
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Welcome to BTstack

BTstack is BlueKitchen's implementation of the official Bluetooth stack. It is well suited for small, resource-constraint devices such as 8 or 16 bit embedded systems as it is highly configurable and comes with an ultra small memory footprint.

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

On smaller embedded systems, a minimal run loop implementation allows to use BTstack without a Real Time OS (RTOS). If a RTOS is already provided, BTstack can be integrated and run as a single thread.

On larger systems, BTstack provides a server that connects to a Bluetooth module. Multiple applications can communicate with this server over different inter-process communication methods. As sockets are used for client/server communication, it's easy to interact via higher-level level languages, e.g. there's already a Java binding for use in desktop environments.

BTstack supports the Central and the Peripheral Role of Bluetooth 5 Low Energy specification incl. LE Secure Connections, LE Data Channels, and LE Data Length Extension. It can be configured to run as either single-mode stack or a dual-mode stack.

BTstack is free for non-commercial use. However, for commercial use, <a href="mailto:contact@bluekitchen-gmbh.com">tell us</a> a bit about your project to get a quote.

Documentation: HTML, PDF

Third-party libraries (FOSS): List of used libraries and their licenses

Discussion and Community Support: BTstack Google Group

Supported Protocols and Profiles

Bluetooth Features: LE 2M, LE Coded, Isochronous Channels, Extended Advertising, Periodic Advertising, LE Secure Connections, Classic Audio

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

Profiles: A2DP, AVRCP incl. Browsing (CT+TG) and Cover Art (CT), GAP, GATT, HFP, HID, HSP, IOP, MAP, OPP, SPP, PAN, PBAP.

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), Mesh Provisioning, Mesh Proxy, Nordic SPP, Scan Parameters (SCPS), TX Power (TPS), u-Blox SPP.

GATT Service Clients:: ANCS, Battery (BAS), Device Information (DID), HID-over-GATT (HOGP) Host, Immediate Alert, Link Loss, Scan Parameters (SCPP), TX Power (TXS).

LE Audio Profiles: Object Transfer Profile (OTP), Volume Control Profile (VCP), Microphone Control Profile (MICP), Media Control Profile (MCP), Call Control Profile (CCP), Coordinated Set Identification Profile (CSIP), Basic Audio Profile (BAP), Common Audio Profile (CAP), Hearing Access Profile (HAP), Telephony and Media Audio Profile (TMAP), Public Broadcast Profile (PBP), Gaming Audio Profile (GMAP)

LE Audio Services: Audio Input Control Service (AICS), Volume Offset Control Service (VOCS), Volume Control Service (VCS), Microphone Control Service (MICS), Media Control Service (MCS), Generic Media Control Service (GMCS), Telephony Bearer Service (TBS), Coordinated Set Identification Service (CSIS), Published Audio Capabilities Service (PACS), Audio Stream Control Service (ASCS), Broadcast Audio Scan Service (BASS), Common Audio Service (CAS), and Hearing Access Service (HAS).

GATT Services are in general easy to implement and require short development time. For more GATT Services please contact us, or follow the implementation guidelines.

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 A2DP 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, CSCP 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, HRS 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, PBP 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.

For information on Apple's MFi/iAP2 and Find My profiles or access to LE Audio, MAP, PBAP Server, please <a href="mailto:contact@bluekitchen-gmbh.com">contact us directly</a>.

Evaluation Platforms

Embedded Platforms:

| Build Status | Port | Platform | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <img src="https://buildbot.bluekitchen-gmbh.com/btstack/plugins/badges/port-esp32-master.svg"> | esp32 | Espressif ESP32 2.4 GHz Wi-Fi and Bluetooth Dual-Mode combo chip using FreeRTOS | | <img src="https://buildbot.bluekitchen-gmbh.com/btstack/plugins/badges/port-max32630-fthr-master.svg"> | max32630-fthr | MAX32630FTHR ARM Cortex M4F Board with onboard Panasonic PAN1326 module containing TI CC2564B Bluetooth controller | | <img src="https://buildbot.bluekitchen-gmbh.com/btstack/plugins/badges/port-msp432p401lp-cc256x-master.svg"> | msp432p401lp-cc256x | TI MSP432P401R LaunchPad with CC2564C Dual-mode Bluetooth® Controller Evaluation Module and EM Adapter BoosterPack with additional 32768Hz quartz oscillator | | No build server | renesas-ek-ra6m4a-da14531 | Renesas EK-RA6M4 with MikroeE BLE Tiny Click board | | No build server

View on GitHub
GitHub Stars2.1k
CategoryDevelopment
Updated12h ago
Forks684

Languages

C

Security Score

80/100

Audited on Apr 7, 2026

No findings