- Bluetooth® Common
- Bluetooth® Low Energy (Bluetooth LE)
- Classic Bluetooth®
- Controller && VHCI
- NimBLE-based Host APIs
ESP-IDF currently supports two host stacks. The Bluedroid based stack (default) supports classic Bluetooth as well as Bluetooth Low Energy (Bluetooth LE). On the other hand, Apache NimBLE based stack is Bluetooth Low Energy only. For users to make a choice:
For usecases involving classic Bluetooth as well as Bluetooth Low Energy, Bluedroid should be used.
For Bluetooth Low Energy-only usecases, using NimBLE is recommended. It is less demanding in terms of code footprint and runtime memory, making it suitable for such scenarios.
For the overview of the ESP32 Bluetooth stack architecture, follow the links below:
Code examples for this API section are provided in the bluetooth/bluedroid directory of ESP-IDF examples.
The following examples contain detailed walkthroughs: