nrf58240 Meshnetwork vs. adverstising scanning solution


actually we have following Solution:

- NO battery powered devices
- the first nrf58240 acts as a beacon advertsing temperature values all 10sec
- On our gateway, there is also nrf58240 which is in continuous scanning mode.. and catches the advertsiments.
--> it is working fine

We need to extended this structure. The beacons are located in building

We need to extended this structure. The beacons are located in building
- add many (up to 200 beacons) in a line-- the one is near to the gateway, the next is more far away, the 3rd is much more away and so on
- the main problem what we see is the distance, the router is not able to catch the advertisments of the far away located beacons inside the building
--> clear this is what we expected ;-)


- we checked the mesh functuioniality, but: we dont need the steps of Provisioning with Discovery, Authentication, Addressing assignment and network information exchange
and the steps of Configuration      --> every node is allowed to send its data to the gateway, let me say-- the data are open and the information is not secret. So we dont need this Meshstack functuionality on top of the BLE. nevertheless we need a mechnaismus to relay the data from one node to the other ---to bridge the distance.

So we thought about following architecture:

- Each beacon should not only advertise, it should also scan e.g. 10seconds adverstising every 1s, 2 seconds scanning and catch the advertisments from other beacons

So for example:

Beacon 1 send advertisments from itself

Beacon 1 scanns and catches advertisments from beacon 2 and 3 - these shoukld be forwarded as adverstiments togehther with its own advertisments


1) In the moment we would scan in these 2 seconds?.. is there a function availbale for example to scan and forward these "input" as advertiosments? ..such as the relay node in the meshnetwork..? it should be without any authentification or something - just scanning and forwarding

2) if we deploy e.g. 200 nodes.. at the end the beacon1 received e.g. 200 temperature values. Do you see any issue here for beacon1?

3) Pls also recommend something if you would say..there could be a easier solution?

  • Hi,

    I think to a certain degree you will be reinventing many of the features already in Bluetooth mesh, if you go for a custom solution. What you describe is a flooding network, and the Bluetooth mesh protocol does have a few technical deetails for managed flooding that would be useful for your use case. E.g. not repeating packets that has already been relayed earlier, configure the number of retransmissions for each hop (enough redundancy, but not too much), the possibility to tune number of relay nodes, and diagnostic mechanisms for investigating and tuning the network. As such, going for a Bluetooth mesh network that auto-provisions and auto-configures might turn out to be a good idea after all.

    Nevertheless, regarding your questions:

    1) There is no ready-made function for relaying BLE advertisements, no. Technically, what you can do is to use a "manufacturer specific data" field in the advertisement, containing your data (and required metadata for managing the flooding.) Upon reception of the advertising, you check whether it should be relayed, and then advertise it. You would need to figure out the details (how to avoid loops or the same payload getting sent eternally back and forth between nodes, etc.)

    2) It all depends on the payload size and frequencies. 200 packets within 10 seconds sounds reasonable if compared to the capabilities of a Bluetooth mesh network. There, there's a rule that one single node cannot exceed 100 packets originating from the node in a sliding 10 second window. Relays comes in addition. Please note however that with many nodes sending messages concurrently, there is the potential for packet collisions. There are only three advertising channels, and each advertisement gets sent on all three channels.

    3) Other alternatives:

    • Normal BLE connections (especially if it is a fixed proprietary setup that is not supposed to interact with other products.) You would need to think about the configuration and connection setup, e.g. use of received signal strength indication (RSSI) for figuring out what nodes to connect with, etc., and make sure the network actually is a full spanning tree of the nodes. For instance you could look at FruityMesh or similar third-party solutions.
    • Bluetooth mesh. Although not made specifically for your use case, it does cover the overlapping issues that you must otherwise solve on your own.
    • Other networking technologies, such as e.g. Thread. Same applies as for Bluetooth mesh or third-party solutions, in that the problem set handled by the protocol is larger than your specific use case.

    Personally I would check Bluetooth mesh first, to see if it easily gives me what I need.