This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Long range coexistence

Hello,

We'd like to connect 50 bluetooth 5 devices (nRF52840) to a Receiver (made of multiple centrals nRF52840) with a long range (PHY 250kbps, conn interval 50ms, no dle, ATT_MTU 23)

As I understood there're 37 bluetooth channels + 3 for advertising. If I assume that a nRF52840 central can be connected at 5 nRF52840 peripheral at the same time (I guess on the same bluetooth channel), I would need 10 nrf52840 centrals in my receiver to connect all my devices. So I'd use 10 channels.

Do you think they will interfere with eachother (knowing we'll work with long distance signal so very weak ones) or the space between the channel is big enough ?

Thank you a lot,

-Damien

Parents
  • Hi

    I have done some testing on my own and I am not able to reproduce your problem. I used:

    • SDK: 14.0.0
    • Example: \examples\ble_central_and_peripheral\experimental\ble_app_att_mtu_throughput with S140 v6.0.0-6.alpha patch. Here is the example hex file that I used.
    • Softdevice: s140_nrf52840_6.0.0-6.alpha_softdevice.hex

    Throughput test parameters:

    • MTU [bytes] 23
    • CI [ms] 50
    • DLE yes
    • Conn evt ext yes
    • Phy coded (S8)
    • Data transfered per test 256kB

    Kit versions:

    • Link 1: 0.9.0 & 0.9.0
    • Link 2: 0.9.2 & 0.9.0
    • Link 3: 0.9.0 & 0.9.0

    I did the tests in the office after working hours, so the probability of significant interference from other BLE devices were low (but there is wifi of course). I manually started each measurement using a serial terminals, but all links usually started the throughput tests within seconds from each other. I.e. most of the time, they transferred data at the same time. I transferred 256Kb per test, which typically took 50 seconds to complete.

    I have 6 kits which I have configured as 3 peripherals and 3 centrals, all connected in pairs (3 sepparate links). I did 20 tests with the kits placed in various positions. The first three tests were with all of the kits laying on at my desk, and the fourth with two of the kits in a separate room (“long range test”). Four setups with 5 tests in each. All three links transferred data at the same time. I also tried several tests with only a single link transmitting at the time to compare. As you can see below, the speeds are about the same in all tests when the kits are at my desk. When I moved two of them away, their respective throughputs naturally went down, but the important thing to notice is that they performed consistently. I am not able to reproduce what you report regarding links that changes performance significantly from test to test.

    Here are the results:

    asdf

    Here is the spreadsheet I made.

    And here are the test setups: asdf asdf asdf

    1. Does this make sense to you?
    2. Have I forgotten something of importance?
    3. What kit versions are you using?

    EDIT 11.12.17

    I did some more tests today:

    Same software and link parameters as yesterday, but I reduced the TX power to -30 dBm to simulate long range, and used 10 kits to make 5 links. I am still not able to find anything out of the ordinary. There were some variations from link to link, but each link performed fairly consistent between all tests:

    image description

    setup

Reply
  • Hi

    I have done some testing on my own and I am not able to reproduce your problem. I used:

    • SDK: 14.0.0
    • Example: \examples\ble_central_and_peripheral\experimental\ble_app_att_mtu_throughput with S140 v6.0.0-6.alpha patch. Here is the example hex file that I used.
    • Softdevice: s140_nrf52840_6.0.0-6.alpha_softdevice.hex

    Throughput test parameters:

    • MTU [bytes] 23
    • CI [ms] 50
    • DLE yes
    • Conn evt ext yes
    • Phy coded (S8)
    • Data transfered per test 256kB

    Kit versions:

    • Link 1: 0.9.0 & 0.9.0
    • Link 2: 0.9.2 & 0.9.0
    • Link 3: 0.9.0 & 0.9.0

    I did the tests in the office after working hours, so the probability of significant interference from other BLE devices were low (but there is wifi of course). I manually started each measurement using a serial terminals, but all links usually started the throughput tests within seconds from each other. I.e. most of the time, they transferred data at the same time. I transferred 256Kb per test, which typically took 50 seconds to complete.

    I have 6 kits which I have configured as 3 peripherals and 3 centrals, all connected in pairs (3 sepparate links). I did 20 tests with the kits placed in various positions. The first three tests were with all of the kits laying on at my desk, and the fourth with two of the kits in a separate room (“long range test”). Four setups with 5 tests in each. All three links transferred data at the same time. I also tried several tests with only a single link transmitting at the time to compare. As you can see below, the speeds are about the same in all tests when the kits are at my desk. When I moved two of them away, their respective throughputs naturally went down, but the important thing to notice is that they performed consistently. I am not able to reproduce what you report regarding links that changes performance significantly from test to test.

    Here are the results:

    asdf

    Here is the spreadsheet I made.

    And here are the test setups: asdf asdf asdf

    1. Does this make sense to you?
    2. Have I forgotten something of importance?
    3. What kit versions are you using?

    EDIT 11.12.17

    I did some more tests today:

    Same software and link parameters as yesterday, but I reduced the TX power to -30 dBm to simulate long range, and used 10 kits to make 5 links. I am still not able to find anything out of the ordinary. There were some variations from link to link, but each link performed fairly consistent between all tests:

    image description

    setup

Children
  • First thank you a lot for all those efforts to try to solve my case.

    1. Yes that make sense but I don't have the same results, maybe It'd be different with more than 3 links and further ?
    2. I don't think so
    3. I'm using a mix with 0.91, 0.92 and 0.93

    I did a test with the uart exemple phy coded, 1kBytes/s 10 links (CI 12.5ms, ATT_MTU payload 23, dle off, phy coded), I tried at my office everything was fine (every central was receiving 1kB/s) then I went to a football field, I set up 10 centrals at one point: link text 70m from the peripherals https://ibb.co/mprQKb when I use only 2-3 links, everything is fine but when I use 10 links I see huge data rate variation (see at the bottom left : https://ibb.co/nvTi5G) (SD140 V0.5.2) and I observe similar behavior with SD 140 V0.6.

    Here is my main.c : www.dropbox.com/.../AAC-knx-D7AeQZhgq-TCrgMRa

    1. Actually It'd be interesting to see the results with the 3 peripherals side by side in one room, and the 3 centrals in an other room side by side.
  • The main files in your link seem to be compiled with S140 v5 alpha which has a known bug that possibly affects throughput on long range. You say that you can see the same on S140 v6 alpha though, so can you share the code you used for that too? As I mentioned in my edit above I'm not able to reproduce it with S140 v6 alpha, so maybe the issue is in your application.

  • Martin,

    When I tested with S140 v6, it was with the ble_app_att_mtu_throughput example. I'd like to test it with a uart_example (because I'm more familiar about how it works) provided with SDK v14 but unfortunately it seems they're only compatible with S140 v5.2 and I've trouble understanding the SDK migration guide S140 v5.2 to S140 v5.3, and it seems there's not migration guide from s140 v5.3 to v6.

    I'll test again with the ble_app_att_mtu_throughput example S140v6, power 9dBm, and send you the results soon, in the meantime, do you have any idea when'd be the release date for a new SDK compatible s140v6 ?

    Thank you for your time. -Damien

  • No, unfortunately there is no migration guide for S140 6 alpha (there are usually no migration guide or specification for alpha releases), but I suppose you have seen the readme.md file and sdk_patch.diff file that comes with the download? They help you migrate the throughput example, but migrating all the other BLE examples in the SDK is still a pain. Anyway, as far as I know SDK 15 will be released when the S140 is in production version, and the S140 production version will be released when the nRF52840 SoC goes to production version sometime in Q1 next year.

Related