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

can an nrf52 series SOC transmite a ble message to 150 units in one second ?

Hello

we are thinking of using the nrf52832 (sdk 16.0, s132) , which we are a bit familiar with by now.

We have a project in which we need to transmit data to 150 unit via BLE, we do not think of pairing with the receiveing units.

we are thinking of grouping the data for 50 units in one 255 byte message (so 3 messages and we wish to be sending serveral times in a second for each group)

if i want to send a 255 byte message via ble, how much time does it take ? how many messages like that i can transfer in one second ?

is it preferable to use bluetooth 5.0 if i have no power supply issues ?

if bluetooth is preferable then why?

and is there an sdk example or certain softdevice that support bluetooth insted of ble  ?

Best regards

Ziv

Parents Reply Children
  • yes, that sounds like a good idea.

    If you can't pack it all into a single message, perhaps you could divide the receivers into a number of groups - and apply this scheme per group. eg, 10 groups of 15 (an nRF52832 can do 20 connections at once, IIRC)

  • Bluetooth 5 is a good idea - not only because of longer messages, but because you can offload your data to secondary channels and not spam too much at primary ones. Remember, the longer your message, the higher probability to have a bit error somewhere and loose the whole packet.

    Grouping messages by 3 in a packet, you will need to send 50 messages per second, not a problem.. but think about other side - every device should listen continuously, receive and analyze each message, taking radio and CPU busy most of the time. Maybe it worth to think about custom protocol with different time slots for each receiver. Though if your devices are not battery-powered, it's not an issue.

  • hi Dmitry

    well i was thinking of grouping 50 messages in a packet (not sure how long this packet needs to be in that case) and then send 3 messages in one second, but i guess there can be some deviation which is best .. what did you mean by different time slots for each receiver, it is an asynch communication, i don't have a shared clock or something like that, how is that possible to have different time slots for each receiver group to start listening at the correct time within the every second ?

  • well i was thinking of grouping 50 messages in a packet (not sure how long this packet needs to be in that case)

    A single packet cannot be longer than 255 bytes - you can group up to 8 devices into a message, but in case of a single error, the whole message will be lost.

    what did you mean by different time slots for each receiver

    When using own protocol, you can divide 1 second into 150 timeslots, sending a message for each device with different access address at exact point of time.

    i don't have a shared clock or something like that

    I don't know your case in detail, an easiest way is to listen continuously until first packet with receiver's access address arrived, then start RX every time a bit ahead of its next timeslot (knowing that there should be exactly 1000 ms from start to start).

  • Hi

    I am a bit confused.. when referring to a 255 byte of data size in a packet, are we referring to a beacon packet or a broadcasting packet (does it metter? are they both runing over the 3 advertising channels? ) ?

    When talking about time slots do you mean after pairing has been made ( i guess it is configured within the GATT)  ?

    I am not planning on pairing because I want to send the message from one unit to all the rest (its like an initiating central to many peripheral) and I don't want to loos time on scanning Acks and such.

    If I wish to send a 255 byte packet from my nrf52832, how many packets like that I can broadcast in one second ? I think I need at least 15, to 3 different units groups ids ?

    is it preferable to use Bluetooth 5.0 if i have no power supply issues ?

    if Bluetooth is preferable then why and does it have a brodcast mode like beacon or other to transmit data to all listeners?

    and is there an sdk example or certain softdevice that support Bluetooth instead of ble  ?

    Best regards

    Ziv

Related