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

BLE ESB timeslot versus 2 BLE

Hi there,

We're using NRF52840 and nRF5_SDK_15.3.0_59ac345.

We have a product where 2 nRF52840's have to talk to 1 device (say, an iPhone or a computer).  We were thinking of doing the following initially:

OPTION1:

iPhone ---BLE---> nRF52840 -----ESB----->nRF52840

But, we were wondering if it's possible to do this instead:

OPTION2:

iPhone -----BLE----->nRF52840

              |

              |

              ------BLE-----> nRF52840


We need latency to the iPhone within 100ms and we need to send about 250 bytes at 50 Hz for each Nordic (ie 25kbps total)

Based on your experience, which option would you recommend based on the code complexity & performance?


Thanks,
Cecylia

Parents
  • Hi,

    So the question is whether to connect each nRF52840 individually to the smartphone, or to connect one nRF52840 to the smartphone and let it send both its own data and relay data from another nRF52840 (that it receives over an ESB link)?

    Two (identical) nRF52840 devices using only one protocol (BLE) sounds like both the least complex project, as well as giving less latency (although 100 ms should be more than enough to get data and relay it.)

    Throughput wise you should have more than enough at the nRF52840 end, as per Bluetooth Low Energy data throughput, as long as you use the right method for sending the data and can get a short enough event length / large enough ATT MTU size for the connection.

    Having the two nRF52840 devices operate as individual BLE devices will however require that the end user pairs / connects with two BLE devices in order to use both. If it is desired to use this as "one product", and only connect with one BLE device from the smartphone, then you can go with an ESB solution (or normal BLE connection) between the nRF52840 devices, but at the cost of complexity, one more protocol to understand (ESB), and slight increase in latency.

    Regards,
    Terje

  • Thank you !

    Do you have some sort of example for the "Two (identical) nRF52840 devices using only one protocol (BLE)" so that we can get some benchmark numbers to compare?

  • Hi,

    I am not sure if we have anything pushing large amounts of data from smartphone to nRF, but we do have something the other way around:

    https://github.com/NordicPlayground/nrf52-ble-image-transfer-demo
    https://github.com/NordicPlayground/Android-Image-Transfer-Demo

    Admittedly that example uses Android, not iOS, for the smart phone side. Even though the stream direction is opposite of what your project needs, you should still get reasonable ballpark figures.

    Otherwise you could use the UART over BLE example, and make an application on the smartphone that connects to two devices and streams (for instance random) data at a given rate. We do have a blinky example for iOS, which may serve as a starting point for iOS BLE app development.

    Regards,
    Terje

Reply Children
Related