Project #024: Bluetooth Low Energy Throughput - Pushing the Limits | Cypress Semiconductor
Project #024: Bluetooth Low Energy Throughput - Pushing the Limits
In today's project, we will examine the real (measured) throughput of a Bluetooth Low Energy connection using PSoC 4 BLE.
Bluetooth Low Energy was designed from the ground-up as a lowpower, low data-rate radio to primarily carry sensor and status information. Bluetooth Low Energy 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 Bluetooth Low Energy 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 Bluetooth Low Energy 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 Bluetooth Low Energy 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 Bluetooth Low Energy 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