Good morning developers, I want to ask you what is the maximum transfer speed (Kbps) achieved between the chip nrf52840 (peripheral) and a smartphone (central).
If anyone wants to give details they will be gladly received.
Good morning developers, I want to ask you what is the maximum transfer speed (Kbps) achieved between the chip nrf52840 (peripheral) and a smartphone (central).
If anyone wants to give details they will be gladly received.
We have measured around 1200 kbps with the Samsung S8 phone.
Bjorn this is a nice throughput. You can help me with the test. We deal with the following devices One plus 2, iphone 6 and iphone 8.
In our first approach to test it, We use the SDK example att_mtu througtput . We changed the paramethers related at the transfer speed on the file sdk_config.h. The result was under the 300 kbps.
paramethers
NRF_BLE_SCAN_MIN_CONNECTION_INTERVAL
NRF_BLE_SCAN_SCAN_PHY
NRF_SDH_BLE_GATT_MAX_MTU_SIZE
NRF_SDH_BLE_GAP_DATA_LENGTH
You gime some advice or provide me your configuration or project for read.
I don't mensioned We use a nrf52840 DK on segger studio without ext antenna.
P.D. In another post I read some changes related at the RAM...?
Note that it is the phone which decides the actual Connection Interval used - not the Peripheral.
The Peripheral makes a request to the phone, but the phone makes the actual decision - it is not obliged to accept the request!
And, in fact, phones will usually not accept (very) small connection intervals.
And the connection interval that they do grant is not (necessarily) fixed: it can - and does - vary from connection to connection on the same phone.
This comes up frequently ...
Note that it is the phone which decides the actual Connection Interval used - not the Peripheral.
The Peripheral makes a request to the phone, but the phone makes the actual decision - it is not obliged to accept the request!
And, in fact, phones will usually not accept (very) small connection intervals.
And the connection interval that they do grant is not (necessarily) fixed: it can - and does - vary from connection to connection on the same phone.
This comes up frequently ...
Ok ... this could be one piece of this puzzle.
Assuming that we would like to achieve a high-speed cross-platform transfer (android-ios)
What guidelines should We consider?
The Peripheral does get notified of what Connection Parameters have been granted.
So you can define what is your "minimum acceptable" and, if you don't get that, notify the user somehow.
Both Android & iOS do give some recommendations - you'd have to search their documentation for details...
This is a test , but our requirement will be achieve "minimum acceptable " as "maximum possible". You should think that our device must be able the transmiting the contents of a flash memory ( 128 Mbit). The time is relevant for doing this operation.
Like many of topics on internet or differents blogs the overinformation is not our friend.
I don't think that Android or iOS will ever give you "maximum possible".
You could build yourself a custom Central - eg, an nRF52840 Dongle - so then you have full control ...
First of all I appreciate the interest. Second point out the problem if the thread doesn't make sense. My intention is to make a survey to people who have experience in testing a nrf52840 (peripheral device) with a smartphone (central device). Within those hardware requirements consult how to achieve the greatest possible transfer.
1- Within the points to compare the operating system (Android or iOS) can be in play.
2- Parameterization of the "peripheral" equipment firmware.
3- Configuration of the "central" equipment software.