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

S130 max concurrent central connections

I am developing an application where a repeater unit connects to a number of other units, gets some info, aggregates it and broadcasts it as a peripheral unit (in a tree structure, the consolidated readings are propagated all the way up to a main receiver unit). Considering S130 as a combination of S110 and S120, I've always assumed that the max. number of concurrent connections are 8 (as it is in S120). However, when I try to connect more than 3 peripherals, I get NRF_ERROR_INTERNAL. I recently noticed that in the softdevice specification document for S130, it says max 3 central connections. I am using S130 v0.9 alpha, and nRF SDK 7.1.

So my question is two fold: i) is it true that S130 only supports up to 3 concurrent central connections? and ii) if so, what can I do to remedy that.

Many thanks in advance!

  • @Cetin: i) Yes, it's true. S120 supports up to 8 central connections because it doesn't have peripheral role as with S130.

    ii) Not much can be done to change that, at least for now. Future version of S130 may support more than 3 but that not what I can confirm. What you can do now if you want is to implement your own central role using timeslot API, but I don't think it's would be very straight forward and simple task.

  • Thanks a lot, Hung!

    Should I implement my own central role or should I use S120 and try to implement a peripheral role on the side (I'm not sure if that would be possible or not).

    Also, what exactly is the limiting factor in S130 that makes it difficult to support more than 3 concurrent connections?

  • @Cetin:

    I am not sure which could be easier, both approaches will have to deal with scheduling the manual connection event, 8 centrals links with 20ms interval will occupies the whole timeslot for radio. So the connection interval should be >20ms if you want to add a peripheral link in. Also, I don't think you would be able to support 6 packets per connection interval on the peripheral link.

    There is no official information on the limiting factor on S130 that limit it to 3 central links. So I can't expose anything about that here.

  • The S120 2.0.0 has both a central and a peripheral included, but you cannot run both concurrently like with S130.

    With the S120, you should be able to enable the SoftDevice as a (8-link) central, aggregate data, then disable the SoftDevice and enable it as a peripheral (S110-like). You are then able to broadcast any data you have saved, although all states and data related to the SoftDevice will be reset when disabling/enabling the SoftDevice.

    Could this potentially solve your problem?

  • Hi Ulrich,

    Thanks for the reponse. I thought of that alternative. In the worst case it could be a fallback but the fact that you should be able to orchestrate 8 peripheral connections, disconnect, connect as a peripheral, and repeat the prcess is probably not very power friendly (I forgot to write but the system has to operate for a prolonged period when installed).

    If there were a way of saving and resuming the soft device state (similar to the activation record concept in programming languages), things could have been slightly easier.

Related