esp-idf/examples/bluetooth/bluedroid/ble/ble_throughput/throughput_client
2022-03-11 10:48:21 +00:00
..
main fix throughput example build error 2021-01-29 15:29:18 +08:00
CMakeLists.txt build_app: make multi target support readable 2020-04-09 16:40:57 +08:00
Makefile Bluetooth examples restructuring 2019-07-01 19:21:57 +08:00
README.md component/bt: add BLE v5.0 feature for bluedroid host 2021-01-15 17:55:12 +08:00
sdkconfig.defaults component/bt: add BLE v5.0 feature for bluedroid host 2021-01-15 17:55:12 +08:00
sdkconfig.defaults.esp32 components/bt: move config BT_RESERVE_DRAM from bluedroid to ESP32 controller 2022-03-11 10:48:21 +00:00
sdkconfig.defaults.esp32c3 components/bt: move config BT_RESERVE_DRAM from bluedroid to ESP32 controller 2022-03-11 10:48:21 +00:00
sdkconfig.defaults.esp32s3 components/bt: move config BT_RESERVE_DRAM from bluedroid to ESP32 controller 2022-03-11 10:48:21 +00:00

Supported Targets ESP32 ESP32-C3

ESP-IDF BLE throughput GATT CLIENT demo

This is the demo used to test the BLE throughput, this demo should used with throughput server demo together. The throughput of BLE can up to 720-767 Kbps between to ESP32 board. Note:

  1. In order to maximize throughput, we need to set the uart print baud rate at 921600 or more (idf.py menuconfig --> Component config --> ESP32-specific --> UART console baud rate --> 921600(or 1500000)) and don't print too much log.
  2. We can only test notify or write throughput at the same time, this demo default to test the notify throughput, if want to test the write throughput, please set: idf.py menuconfig --> Component config --> Example 'GATT CLIENT THROUGHPUT' Config ---> then select the 'test the gattc write throughput' option
  3. This demo only test unidirectional throughput, if you want to test the bidirectional throughput please change the demo by yourself.
  4. Should change the CPU frequency to 160MHZ or 240MHz in the idf.py menuconfig --> Component config ---> ESP32-specific ---> CPU frequency (240 MHz or 160 MHz).
  5. Should change the bluetooth controller and Bluedroid run in different Core in the idf.py menuconfig --> Component config ---> Bluetooth ---> The cpu core which bluetooth controller run (Core 0 (PRO CPU)) & Bluedroid Enable ---> The cpu core which Bluedroid run (Core 1 (APP CPU)).
  6. In order to maximize throughput, please test in a clean environment without many BLE devices working and both test devices are ESP32.