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

Which is the best proprietary stack to pair multiple Devices (single FW) to a single Host and use several systems (e.g. Host_1 with Device_1 and Host_2 with Device_2) concurrently (one within the antenna range of the other) without interferences?

I'm developing a system which consists of 1 or more remotes (3 or 4 max) that have to communicate with a single host.

I need a fairly simple protocol, low power optimised especially from the Remote side. I already have the nRF51 Dongle (PCA10031) and I'd like to use the NRF51422 IC.

I see there are 3 proprietary stacks (Gazell Link Layer, Gazell Pairing, Enhanced ShockBurst) and at first glance the Gazell Pairing API seems the most suitable one. However I'm quite new to RF communications so I'm not really able to properly evaluate them.

From the Gazell Link Layer User Guide, I see there are 8 pipes available and that each pipe maps to one on-air address, does it mean that I have to manually set the transmitting pipe on each device? That would be very troublesome since I'd like to use a single FW for all the Devices.

The Gazell Pairing API seems to be able to handle encrypted communications and automatic pairing exchanging several parameters and then storing them in the NVM. However I don't really understand the true pros/cons of this library.

In summary, my doubts are the following:

  1. Which the best protocol is for this application.
  2. From the mass production perspective, I'd like to use the same FW for all the remotes and do the pairing of the first remote with the host after loading the code into the MCU.
  3. The final user should be able to pair additional remotes to the host.
  4. More systems (e.g. Host_A paired to Device_A1 PLUS Host_B paired to Device_B1) will be used at the same time one next to the other (probably no more than 10 systems).

Thank you very much in advance!

Parents
  • Gazell was made for use in keyboard and mouse, which are very similar to a remote application. You have one device that needs to be low power (device), and you have one device that doesn't have the same constraints (host), so it can be scanning all the time.

    The Gazell pairing library only supports one encrypted pipe, see this for more information.

    The pipe address has to be set. What you could do is to have the host scanning on pipe 0, and have the devices transmit on pipe 0. Then the host can tell device 0 which address it should use for further communication, which address device 1 should use for further communication and so on. If you want several system to operate in close vicinity you should randomize the addresses uses.

    If you need more than one encrypted link BLE might be the way to go, it is suited for this kind of application, the main drawback of BLE is that you have to pay the declaration fee.

Reply
  • Gazell was made for use in keyboard and mouse, which are very similar to a remote application. You have one device that needs to be low power (device), and you have one device that doesn't have the same constraints (host), so it can be scanning all the time.

    The Gazell pairing library only supports one encrypted pipe, see this for more information.

    The pipe address has to be set. What you could do is to have the host scanning on pipe 0, and have the devices transmit on pipe 0. Then the host can tell device 0 which address it should use for further communication, which address device 1 should use for further communication and so on. If you want several system to operate in close vicinity you should randomize the addresses uses.

    If you need more than one encrypted link BLE might be the way to go, it is suited for this kind of application, the main drawback of BLE is that you have to pay the declaration fee.

Children
Related