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
  • 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?

Children
  • 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?

  • Rostokus said:
    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?

     Yes, this is correct. See the softdevice specifications for the S140 v6.1 softdevice here (pg 71):

    Rostokus said:
    Is it possible to de-solder SWF and solder UFL instead?

     Yes, but beware that the UFL antenna is not a switch connector (i.e. if the ANT060 is not connected, then the nRF chip will not be connected to the PCB antenna anymore. Basically, if you do not want to use the PCB antenna at all, you can use the ANT060.

Related