Hello, i'm doing some tests for evaluate the rate of byte that device can send via BLE.
I wrote a simple fw that send many random bytes through writing a characterstic with GattClient_WriteCharacteristicValue() with an adjustable frequency.
i see the bytes packets with a ble sniffer and i discovered that the max frequency is about 22 Hz. Instead max byte are about 20. What is the max rate? Can i enhance the rate of sent bytes in terms of frequency and quantity?
Thank you
marco
Hi Marco, I hope you're doing well!
The max data rate that can be achieved with BLE in the KW41Z will depend on different factors, some of which can be controlled by the user and some which cannot. ATT_MTU will affect the maximum size which can be transferred between client and server. Connection Interval also plays an important role in increasing the data rate on BLE applications.
Other factors like inter-frame space and packet fragmentation will affect BLE data rate, but these are not user configurable and are managed by the stack. Having said this, the throughput calculation can be done assuming an ATT_MTU of 247, we can reach a maximum theoretical throughput of approximately 500kbps.
As a side note, the maximum size for an attribute (called a Long Attribute) can be of 512 bytes.
Please let me know if you need any more details on the calculation.
Best regards,
Sebastian