README.md (81a095ecae34076040d4afbdca21f3d83d2c7c84) README.md (273591ab9d6c2f4569855f76f06c1f130e919680)
1**_Note: Major API Changes. For older projects, you may use the [v0.9 branch](https://github.com/bluekitchen/btstack/tree/v0.9).
2Please see [Migration notes](https://github.com/bluekitchen/btstack/blob/master/doc/manual/docs/appendix/migration.md)_**
3
4# Welcome to BTstack
5
6BTstack is [BlueKitchen's](http://bluekitchen-gmbh.com) implementation of the official Bluetooth stack.
7It is well suited for small, resource-constraint devices
8such as 8 or 16 bit embedded systems as it is highly configurable and comes with an ultra small memory footprint.

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

22It can be configures as both a single mode or a dual mode stack.
23
24BTstack is free for non-commercial use. For commercial use, <a href="mailto:[email protected]">tell us</a>
25a bit about your project to get a quote.
26It has been qualified with the the Bluetooth SIG for GAP, IOP, HFP, HSP, SPP, PAN profiles and
27GATT, SM of the Bluetooth 4.2 LE Central and Peripheral roles (QD ID 25340).
28
29## Documentation
1**_Note: Major API Changes. For older projects, you may use the [v0.9 branch](https://github.com/bluekitchen/btstack/tree/v0.9).
2Please see [Migration notes](https://github.com/bluekitchen/btstack/blob/master/doc/manual/docs/appendix/migration.md)_**
3
4# Welcome to BTstack
5
6BTstack is [BlueKitchen's](http://bluekitchen-gmbh.com) implementation of the official Bluetooth stack.
7It is well suited for small, resource-constraint devices
8such as 8 or 16 bit embedded systems as it is highly configurable and comes with an ultra small memory footprint.

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

22It can be configures as both a single mode or a dual mode stack.
23
24BTstack is free for non-commercial use. For commercial use, <a href="mailto:[email protected]">tell us</a>
25a bit about your project to get a quote.
26It has been qualified with the the Bluetooth SIG for GAP, IOP, HFP, HSP, SPP, PAN profiles and
27GATT, SM of the Bluetooth 4.2 LE Central and Peripheral roles (QD ID 25340).
28
29## Documentation
30- [HTML](http://bluekitchen-gmbh.com/btstack/)
31- [PDF](http://bluekitchen-gmbh.com/btstack.pdf)
30- [HTML](http://bluekitchen-gmbh.com/btstack/develop/)
31- [PDF](http://bluekitchen-gmbh.com/btstack_develop.pdf)
32
32
33## Supported Protocols
34* L2CAP
35* RFCOMM
36* SDP
37* BNEP
38* ATT
39* SM
33## Discussion and Community Support
34[BTstack Google Group](http://groups.google.com/group/btstack-dev)
40
35
36## Supported Protocols and Profiles
41
37
42## Supported Profiles
43* GAP
44* IOP
45* HFP
46* HSP
47* SPP
48* PAN
49* GATT
38Protocols: L2CAP, RFCOMM, SDP, BNEP, ATT, SM
50
39
51Coming next: HID, HOGP, A2DP, and more.
40Profiles: GAP, IOP, HFP, HSP, SPP, PAN, GATT
52
41
42Coming next: A2DP, AVRCP, HID, HOGP, BLE, and more.
43
53## Evaluation Platforms
54
55#### Embedded Platforms:
56Status | Platform
57-------------- | ------
44## Evaluation Platforms
45
46#### Embedded Platforms:
47Status | Platform
48-------------- | ------
58[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-ez430-rf2560-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-ez430-rf2560-master) | [EZ430-RF256x Bluetooth Evaluation Tool for MSP430](http://www.ti.com/tool/ez430-rf256x)
59[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-msp-exp430f5438-cc2564b-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-msp-exp430f5438-cc2564b-master) | [MSP430F5438 Experimenter Board for MSP430](http://www.ti.com/tool/msp-exp430f5438) with [Bluetooth CC2564 Module Evaluation Board](http://www.ti.com/tool/cc2564modnem)
60[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-msp430f5229lp-cc2564b-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-msp430f5229lp-cc2564b-master) | [MSP-EXP430F5529LP LaunchPad](http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html#tabs) with [Bluetooth CC2564 Module Evaluation Board](http://www.ti.com/tool/cc2564modnem) and [EM Adapter BoosterPack](http://www.ti.com/tool/boost-ccemadapter) with additional 32768Hz quartz oscillator
61[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-stm32-f103rb-nucleo-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-stm32-f103rb-nucleo-master) | [STM32 Nucleo development board NUCLEO-F103RB](http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847/PF259875) with [Bluetooth CC2564 Module Evaluation Board](http://www.ti.com/tool/cc2564modnem) and [EM Adapter BoosterPack](http://www.ti.com/tool/boost-ccemadapter) with additional 32768Hz quartz oscillator
62[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-pic32-harmony-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-pic32-harmony-master) | [Microchip's PIC32 Bluetooth Audio Development Kit](http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=DV320032)
63[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-wiced-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-wiced-master) | [RedBear Duo](https://github.com/redbear/WICED-SDK) with Broadcom BCM43438 A1
49[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-ez430-rf2560-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-ez430-rf2560-develop) | [EZ430-RF256x Bluetooth Evaluation Tool for MSP430](http://www.ti.com/tool/ez430-rf256x)
50[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-msp-exp430f5438-cc2564b-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-msp-exp430f5438-cc2564b-develop) | [MSP430F5438 Experimenter Board for MSP430](http://www.ti.com/tool/msp-exp430f5438) with [Bluetooth CC2564 Module Evaluation Board](http://www.ti.com/tool/cc2564modnem)
51[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-msp430f5229lp-cc2564b-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-msp430f5229lp-cc2564b-develop) | [MSP-EXP430F5529LP LaunchPad](http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html#tabs) with [Bluetooth CC2564 Module Evaluation Board](http://www.ti.com/tool/cc2564modnem) and [EM Adapter BoosterPack](http://www.ti.com/tool/boost-ccemadapter) with additional 32768Hz quartz oscillator
52[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-stm32-f103rb-nucleo-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-stm32-f103rb-nucleo-develop) | [STM32 Nucleo development board NUCLEO-F103RB](http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847/PF259875) with [Bluetooth CC2564 Module Evaluation Board](http://www.ti.com/tool/cc2564modnem) and [EM Adapter BoosterPack](http://www.ti.com/tool/boost-ccemadapter) with additional 32768Hz quartz oscillator
53[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-pic32-harmony-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-pic32-harmony-develop) | [Microchip's PIC32 Bluetooth Audio Development Kit](http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=DV320032)
54[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-wiced-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-wiced-develop) | [RedBear Duo](https://github.com/redbear/WICED-SDK) with Broadcom BCM43438 A1
64
65
66#### Other Platforms:
67Status | Platform
68-------------- | ------
55
56
57#### Other Platforms:
58Status | Platform
59-------------- | ------
69[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-posix-h4-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-posix-h4-master) | posix: Unix-based system talking to Bluetooth module via serial port
70[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-libusb-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-libusb-master) | libusb: Unix-based system talking via USB Bluetooth dongle
71[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-daemon-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-daemon-master) | daemon: TCP and Unix domain named socket client-server architecture supporting multiple clients
72[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=java-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/java-master) | java: Java wrapper for daemon
73[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-ios-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-ios-master) | iOS: daemon for iOS jailbreak devices, C client-server API
74[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-mtk-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-mtk-master) | mtk: daemon for rooted Android devices, based on Mediatek MT65xx processor, Java and C client-server API
75[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-wiced-master">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-wiced-master) | wiced: Broadcom platforms that support the WICED SDK
60[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-posix-h4-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-posix-h4-develop) | posix: Unix-based system connected to Bluetooth module via serial port
61[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-libusb-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-libusb-develop) | libusb: Unix-based system with dedicated USB Bluetooth dongle
62[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-daemon-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-daemon-develop) | daemon: TCP and Unix domain named socket client-server architecture supporting multiple clients
63[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=java-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/java-develop) | java: Java wrapper for daemon
64[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-ios-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-ios-develop) | iOS: daemon for iOS jailbreak devices, C client-server API
65[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-mtk-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-mtk-develop) | mtk: daemon for rooted Android devices, based on Mediatek MT65xx processor, Java and C client-server API
66[<img src="http://buildbot.bluekitchen-gmbh.com/btstack/badge.png?builder=port-wiced-develop">](https://buildbot.bluekitchen-gmbh.com/btstack/builders/port-wiced-develop) | wiced: Broadcom platforms that support the WICED SDK
76
77## Supported Chipsets
67
68## Supported Chipsets
78Chipsets | Status
79-------------- | ------
80TI CC256x, WL183x | H4 incl. eHCIll support and SCO-over-HCI (chipset/cc256x)
81CSR 8x10, 8x11 | H4 + H5 supported, SCO-over-HCI missing (chipset/csr)
82STM STLC2500D | working, no support for custom deep sleep management (chipset/stlc2500d)
83TC35661 | working, BLE patches missing (chipset/tc3566x)
84EM 9301 (LE-only) | working, used on Arduino Shield (chipset/em9301)
85CSR USB Dongles | complete, incl. SCO-over-HCI
86Broadcom USB Dongles | complete, SCO-over-HCI missing
87Broadcom BCM43438 | complete. UART baudrate limited to 3 mbps, SCO-over-HCI missing
88
69
70Chipset | Type | HCI Transport | SCO over HCI (2) | BTstack folder | Comment
71-------------------- |-----------| ----------------|------------------|----------------|---------
72Broadcom UART | Dual mode | H4, H5 | No (didn't work) | bcm | Max UART baudrate 3 mbps
73Broadcom USB Dongles | Dual mode | USB | No (didn't work) | bcm |
74CSR UART | Dual mode | H4, H5 | No (didn't work) | csr |
75CSR USB Dongles | Dual mode | USB | Yes | csr |
76EM 9301 | LE | SPI | n.a. | em9301 | Custom HCI SPI implementation
77Nordic nRF | LE | H4 | n.a. | | Requires custom HCI firmware
78STM STLC2500D | Classic | H4 | No (didn't try) | stlc2500d | Custom deep sleep management not supported
79Toshiba TC35661 | Dual mode | H4 | No (didn't try) | tc3566 | HCI version not tested.
80TI CC256x, WL183x | Dual mode | H4, H5, eHCILL | Yes | cc256x | Also WL185x, WL187x, and WL189x
81
82[More infos on supported chipsets](https://bluekitchen-gmbh.com/btstack/develop/chipsets/)
83
89## Source Tree Overview
90Path | Description
91--------------------|---------------
92chipset | Support for individual Bluetooth chipsets
93doc | Sources for BTstack documentation
94example | Example applications available for all ports
95platform | Support for special OSs and/or MCU architectures
96port | Complete port for a MCU + Chipset combinations
97src | Bluetooth stack implementation
98test | Unit and PTS tests
99tool | Helper tools for BTstack
84## Source Tree Overview
85Path | Description
86--------------------|---------------
87chipset | Support for individual Bluetooth chipsets
88doc | Sources for BTstack documentation
89example | Example applications available for all ports
90platform | Support for special OSs and/or MCU architectures
91port | Complete port for a MCU + Chipset combinations
92src | Bluetooth stack implementation
93test | Unit and PTS tests
94tool | Helper tools for BTstack
100
101## Discussion and Community Support
102[BTstack Google Group](http://groups.google.com/group/btstack-dev)