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

Corelocation Ibeacon Detection Range

Hi guys

I have been working with a nordic ble device (NRF51822) configured as a Beacon. I am implementing an IOS app, using Apple framework " CoreLocation". My goal is to detect beacons on background mode. Until now, I am able to detect beacons only in a very small range (3.9 meters).

Is this normal? Is there a way to improve this behavior?

I tested the same beacons on an Android app (background mode) and the range is much better.

Ibeacon properties:

  • Trasmission power: 0 Db
  • Softdevice : S130
  • Advertising interval: 100ms

Thanks in advance

  • Hi @fercholas !, something has to be wrong, as you see (from the CoreLocation docs):

    The specific threshold distances are determined by the hardware and the location technologies that are currently available. For example, if Wi-Fi is disabled, region monitoring is significantly less accurate. However, for testing purposes, you can assume that the minimum distance is approximately 200 meters.

    Try changing the transmission power to -30 and see how things change, you can see the valid values in this page

    Then follow the code in Listing 2-3 found here

    You might want to read the broadcast data of the beacon to see if it does indeed have the proper transmission power in the advertised data so iOS is able to predict the beacon's proximity

    another important note you need to have in mind is that the device need to be configured as an iBeacon and not any other. only iBeacons can be detected in the background and are compatible with corelocation, etc..

  • Hi Mostafa Berg. Thanks for answering. I am not sure if the minimium distance the docs mentions is refered to an iBeacon Region or a geographical.

    I guess I could change the transmission power but I am afraid that would impact on the beacon's battery life. I think the transmission power configured is working as expected ( Because an Android app is detecting the ibeacon up to 100 meters far away)

    The beacons are correctly configured as Ibeacon.

    Do you think it could be an app's software problem? I am implementing the coreLocation object and the method's delegates in the app's delegate. It could be a mistake?

    Thanks for your time.

  • No this is not geographical limits, definitely iBeacon + Region monotoring, Wifi does help but iBeacon will be the main source here since it's nearby, but for testing, keep wifi off and Bluetooth on ofcourse.

    I would say something is wrong with tho code yes, but I can't be 100% certain

    When you say I am able to detect beacons only in a very small range (3.9 meters). what do you mean by detect beacons?, how do you accomplish that and what is the expected behaviour that you want that doesn't happen?

  • It means that the "DidEnterRegion" event fires on background mode. The expected behaviour is to fire this event much more far from the beacon ( 50 -60 meters ).

  • Is it possible to fire the DidEnterRegion event 50 meter from the beacon?

Related