Project #024: BLE Throughput - Pushing the Limits | Cypress Semiconductor
Project #024: BLE Throughput - Pushing the Limits
In today's project, we will examine the real (measured) throughput of a BLE connection using PSoC 4 BLE.
BLE was designed from the ground-up as a lowpower, low data-rate radio to primarily carry sensor and status information. BLE v4.1 has a specified data rate of 1-Mbps. This doesn't account for any of the overhead from the various layers of the protocol, the controller design, the connection parameters and several other factors that cause the actual throughput to be much lesser. While the RF modulation data rate is 1-Mbps, the protocol theoritical maximum is ~270-kbps. Very few BLE devices manage to reach even half those data rates, due to unoptimized Stacks and poor radio and/or controller design.
This project demonstrates a few techniques you can use to maximize BLE throughput with PSoC 4 BLE. There are four (4) parts to this project - one each for Incoming and Outgoing data transfers on the GATT layer (using Notifications) and on the L2CAP layer. With PSoC 4 BLE, the Maximum Transmission Unit (MTU) buffer size is easily configurable in the BLE Component, and can be set between 23 - 512 Bytes to maximize tranmission efficiency. The example project also measures the throughput of incoming data and displays it on a Terminal window using a UART Component. The measured throughput of a PSoC 4 BLE device on the BLE Pioneer Kit is an impressive 261-kbps,
You can download this PSoC Creator project along with a detailed PDF of instructions, here on GitHub: https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day024_Throughput