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

nRF8002 possible to broadcast indefinitely?

Hi, I am planning to use modules with nRF8002 in an indoor positioning application. The mobile devices that are to be located are continuously scanning for BLE devices and detect the module's advertisements. They do not actively connect, just scan.

My problem is that no matter how I configure the chip, it always advertises for a few minutes and then goes to sleep.

Is it possible to configure the nRF8002 so that it just advertises every 200 ms or so after power-up and never goes to sleep, even if no active connection is made?

Or do I need a more complex chip like the nRF51822?

Thank you for your help.

  • In the state called Connecting in the nRFgo Studio's state diagram, the nRF8002 will advertise infinitely. However, to get to this state, you must have a bond with a Central device. In principle, you could do such bonding in the production of your dongle, but if so, you need to take into account that all bond information are lost when the nRF8002 loses power. This means that you'd either have to make sure that never happens, or that the user are able to rebond it with something (preferably something that will not normally be in the location to avoid an actual connection getting established).

    It should also be noted that the nRF8002 uses slightly different advertising flags when bonded and not. When not bonded, it will set the "Limited discoverable" flag, but when bonded, it will not use this flag. Some platforms may use this flag to decide whether or not a received advertisement should be propagated to the app or not.

    If you instead use an nRF51822 or an nRF8001 with an application processor, this is however not a problem, and you can make a solution that just works, regardless of bonding.

    Edit: Clarify the flag usage of the nRF8002.

  • Hi, Thank you for the quick reply!

    Your suggestion of using a bonding could be an acceptable workaround, because I will use the tags in an experimental setup for some time. I think I will just try the USB master dongle that came with the devkit and see how it works.

  • I tried the suggested bonding trick. I took the master emulator dongle that came with the DK and used the Master Control Panel 3.4.0 to connect to the nRF8002 tag. I was successful in creating a bond and got the tag into "Connecting" state after disconnecting the master dongle.

    However, I do not receive any advertisements while the tag is in connecting state. I use a Samsung Galaxy S3 with the Samsung BLE SDK to scan for BLE devices. I receive advertisements when the tag is in "Bonding" state after startup but not when it's in "Connecting" state.

    I use the default configuration from nRFgoStudio, and I am pretty sure the tag goes to connecting state because the LED blinks every 4th second.

    Is there a difference between advertisements in Bonding state and in Connecting state, or why is the tag not sending advertisements?

  • You are right that there is a difference between the advertisement flags used on the nRF8002 when bonded and not. When not bonded, the nRF8002 will advertise with the "Limited discoverable" flag, while when bonded, this will not be there.

    It could very well be that the Samsung APIs uses this flag to filter. Unfortunately, if you need the tags to be discoverable from this platform, I'm afraid there isn't much you can do about it, except for using a different tag solution. With both the nRF8001 and the nRF51822, you have full control over the flags used when advertising, so that this can be avoided.

  • Ok thanks for the information. I guess I will have to give the other chipsets a try.

Related