Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
B

btstack

> 编程语言
Open source

Dual-mode Bluetooth stack, with small memory footprint.

2.1K stars0 likes0 views
WebsiteGitHub

About

Dual-mode Bluetooth stack, with small memory footprint.

Welcome to BTstack

BTstack is BlueKitchen's implementation of the official Bluetooth stack. It is well suited for small, resource-constrained 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 languages; for example, a Java binding is already available for use in desktop environments.

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

BTstack is free for non-commercial use. However, for commercial use, tell us 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, Object Transfer Service (OTS), 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, Object Transfer Service (OTS), Scan Parameters (SCPS), TX Power (TXPS).

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 generally easy to implement and require little development time. For more GATT services, please contact us or follow the implementation guidelines.

Qualification: BTstack has 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 contact us directly.

Evaluation Platforms

Embedded Platforms:

Build Status Port Platform
esp32 Espressif ESP32 2.4 GHz Wi-Fi and Bluetooth Dual-Mode combo chip using FreeRTOS
max32630-fthr MAX32630FTHR ARM Cortex M4F Board with onboard Panasonic PAN1326 module containing TI CC2564B Bluetooth controller
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 renesas-tb-s1ja-cc256x Renesas TB-S1JA with Dual-mode Bluetooth® CC2564 evaluation board and EM Adapter BoosterPack with an additional 32768Hz quartz oscillator
No build server rp2040-vela-if820 BTstack on RP2040 of Ezurio Vela IF820 Dev Kit
samv71-xplained-atwilc3000 SAMV71 Ultra Xplained Ultra evaluation kit with ATWILC3000 SHIELD
[stm32-f4discovery-cc2564b](

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言