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

Example for setting up BLE long range mesh network between several nodes

I am starting building industrial-grade system which contains several nodes connected via wireless channel.

As a wireless protocol I decided to use BLE 5 due to long ranges ( I need nearly 100m indoor) and a good security.

Can I use NRF52840 to setup wireless network between 8 nodes where each node can send messages to all sibling nodes?

Are there some examples already in SDK?

Parents Reply Children
  • As David said, you can update to coded phy in mesh, but it would most likely not be qualified if you want to use it in an end product. Regarding communication latency, this should be possible.

  • thanks, and .

    I will try to use multilink approach and see the result before switching PHY

  • I have successfully setup communication between several nodes using the start topology and BLE 5 PHY (1 or 2 Mbps).

    The latency is nearly 50-100ms if NRF52840 DVKs lay on the table one near another.

    If I try to increase the distance, latency increases. For example, if the distance is 2-3m, latency increases to 250-300ms.

    Why is it so? I suspect this is caused by retransmission's due to low single and obstacles.

    If I use external antennas (like this), will it help to keep the latency constant?

  • What min & max connection intervals are you using on the central side? If you use a low connection interval, you can most likely expect a latency between 0-100 ms when the dev kits are placed next to each other.

    If you are following the infocenter documentation & testing with the ble_app_blinky on the peripheral side, you may need to lower the min connection interval to decrease the latency:

    #define MIN_CONN_INTERVAL               MSEC_TO_UNITS(100, UNIT_1_25_MS)        /**< Minimum acceptable connection interval (0.5 seconds). */
    #define MAX_CONN_INTERVAL               MSEC_TO_UNITS(200, UNIT_1_25_MS)        /**< Maximum acceptable connection interval (1 second). */

    Are you using sdk v15.2.0?

    This will be independent of the phy you use (e.g. coded, 1 Mbps, 2 Mbps). Are you testing in an environment with a lot of wireless interference by chance? This could lead to increased packet loss, which will impact latency.

    An external antenna could decrease latency, but I would try the fix above instead. I am not sure an external antenna would make a huge difference if the dev kits are right next to each other.

  • I have one central and 3 peripherals. SDK v15.2. 
    Connection intervals are 7.5ms on central and peripherals.

    NRF_SDH_BLE_GAP_EVENT_LENGTH on central is 2 (2.5ms). Thus Central is able to process requests from all three peripherals within one connection interval. Right?

    I am testing at home where only WiFi can interference.

    I have bought ANT060, but it appeared that NRF52840 DVK has SWF connector instead of UFL on antenna. Is it possible to de-solder SWF and solder UFL instead?

Related