Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable >20 bytes on BLE #18

Closed
microbuilder opened this issue Mar 2, 2017 · 5 comments
Closed

Enable >20 bytes on BLE #18

microbuilder opened this issue Mar 2, 2017 · 5 comments
Labels

Comments

@microbuilder
Copy link
Contributor

microbuilder commented Mar 2, 2017

By default, BLE and the nRF52 are limited to transmitting 20 bytes per packet, but there is a mechanism to transfer more data for higher throughput on supporting devices (on both ends of the connection).

An optional command should be added to the Bluefruit class to enable extended packets.

See the following thread for details: https://devzone.nordicsemi.com/question/95745/what-is-the-max-data-throughput-with-s132-v3/?answer=95750#post-id-95750

This should allow up to 244 bytes per transfer.

@hathach
Copy link
Member

hathach commented Mar 2, 2017

SD132 v3.0.0 is required for negotiating MTU. Currently we only have S132 v2.0.1 with legacy bootloader

@microbuilder
Copy link
Contributor Author

Deferring this to a future release where we can update to the secure bootloader at the same time. 20 bytes per packet still gives about 4KB/s from local testing, which is better than the nRF51, and is consistent with user expectations.

@hathach hathach closed this as completed in ed7ee44 Mar 5, 2017
@microbuilder
Copy link
Contributor Author

Bluefruit52 Throughput Example
Connected
Connected. Send a key and press enter to start test
Sending 61440 bytes ...
Sent 61440 bytes in 15.66 seconds.
Speed 
3.92 KB/s.

Connected. Send a key and press enter to start test

This is sending 60 bytes packets, just to have an idea of throughput. ~4KB/s is pretty decent for BLE UART (sending to Bluefruit LE Connect on OS X 10.11.6 in this case).

@TauqirH
Copy link

TauqirH commented Apr 5, 2022

@hathach , was this feature ever implemented ? I think it's still 20 bytes.

@vChavezB
Copy link

vChavezB commented Nov 3, 2022

was this problem solved ?

nvm. seems I forgot to add before bluefruit.begin() the call

Bluefruit.configPrphBandwidth(BANDWIDTH_MAX);

also the characteristic must be changed with

setMaxLen before begin()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants