Garmin Edge not connecting to BLE peripheral service from iOS

Former Member
Former Member

Hi, I'm developing an iOS app that uses the iPhone bluetooth to offer a BLE peripheral service for heart rate. It works with some fitness equipment like Peloton but the Garmin Edge won't properly connect to it. To users it appears to be a bug because the peripheral may be added as a sensor within the Garmin interface but never finishes connecting. This is the result:

The "Connecting" state never resolves. (tested on a Garmin Edge 1030 and 530)

I speculate that the Garmin software discriminates against smart phone hardware when connecting a sensor peripheral because there is a separate functionality for syncing with the Connect app (which would also live on the iPhone). Can any Garmin engineers please chime in on this issue?

  • If I understand what you're trying to do - use a CIQ BLE app to talk to your phone - I've not heard of anyone getting that to work.  I think there may be a conflict with BT/BLE already being used between the garmin device and the phone for GCM and syncing, notifications, etc. 

    While the screen shot is showing "connecting", does that mean the app had scanned and found the phone is advertising, or are you just pairing using a mac address?  I have a simple app that just scans and shows you what the garmin device can see as far as scan results.  Do you see your phone?

    apps.garmin.com/.../9bcc8b66-8385-4afb-b93e-f69e01422284 

  • I would be surprized, if Garmin is actively blocking if iOS is identified anyhow. I would think, that Garmin is expecting characteristics in device information service, which is not yet sent by your iOS app, or in generic access service... maybe you should send values on all characteristics or check if there are any read requests from Garmin which are not managed in your app. By the way, what is already shown in Sensor Details on Edge?

  • Not actively blocking, I don't think you can connect to a device (like a phone) if there's already a connection from the garmin firmware to the same device.  I'm pretty sure that connecting to an android phone, the same thing happens.

  • Would be suprizing to me. Screenshot indicates, that at least the name is already transfered from iOS to Edge. To me it seems to be, that simply the process to finalize whole pairing pocess is not finalized (only Garmin can say, what preconditions are to finalize, this will). Thats why it would be interesting, what details are already available in Sensor Details.

  • Hard to say without seeing the code, as the name could be hardcoded.

  • Former Member
    0 Former Member over 4 years ago in reply to forandy

    I'm continuing to work on this, but it displays the Device ID and "BLE", which is the same set of information that appears when I connect to a compatible BLE heart rate monitor. (I tested with a Mio LINK)

  • Former Member
    0 Former Member over 4 years ago in reply to jim_m_58

    Oh yes, the Garmin was able to scan and find the BLE peripheral advertisement. The scan does not find it when the Connect app has paired the Garmin to the phone, but I think one would expect it to work with an unpaired phone.

    There is a secondary state in which the device is added to the sensor list (and displays it as a heart rate sensor) but cannot complete the connection.

  • Did you find a solution to this? I'm seeing the same issue with an iOS app I've developed. It's frustrating because there are no logs on my 530 to help me figure out what's wrong. No trouble connecting to apps like Strava running on another phone or a Lezyne head unit. I've tried running the app on a phone that isn't paired with the 530 too. No luck, just the same spinner when connecting. 

  • If you are talking about a regular CIQ companion app on your phone, Edge devices as well as outdoor hand held devices don't support companion apps.

    If you're trying to use CIQ BLE and scan for your phone, as stated before, I doubt that will work as the device is already connected over BLE to the phone for syncing, notifications, etc. 

  • Thanks for your response. It is actually a native iOS app running on a different iPhone than the one paired with the 530. After trying a lot of things I am reaching the same conclusion as user 9718727 that my 530 can't connect because the device information service characteristic is indicating that this is an iOS device i.e. manufacturer = Apple. I would just like someone (hopefully a Garmin engineer) to confirm whether or not this is the case.