Watch app that sends heart rate sensor data to edge device

Is it possible to send the heart rate of the internal watch sensor to an edge device in your own CIQ app?

In all Garmin apps you can enable sending the heart rate and an edge device can receive that as an external Ant sensor.

Thanks for any tips and tricks!

  • No idea!?!?

    Is there a way to broadcast the data over ANT? Does anybody know how the broadcast data have to look like?

    Maybe it is possible to send the same data like the internal Garmin apps. Maybe somebody can give me an hint by logging some ANT data stream from a Garmin watch to an external ANT-receiver?

    Thanks for any feedback!

  • Yes you can do that and I do it every time I'm on a bike ride without a heart rate band.

  • Hi Gavriel, this sounds promising. Do you have some code snippets for sending the heart rate value?

    That would very helpful, thanks for your feedback and support!

    It's very annoying that the broadcast of the heart rate data while enabled in Garmin activity apps do not work while toggling to a widget and the recording on the receiving edge device get's interrupted.

    Also that the CIQ developers have to reimplement the existing Garmin code to fix this bug. I need to add this sending/broadcasting of the HR in my data field widget.

  • Maybe I misunderstood what you need. What I do is this:

    I have this datafield on the Edge: https://apps.garmin.com/en-US/apps/7c83d402-4b68-4f0a-b167-7139788a19b3

    And I set the watch to broadcast HR via ANT.

    In fact you don't even need the datafield with ANT receiver on the Edge, you just ass the watch as an ANT HRM sensor on the Edge.

    When I do this I start the HR broadcasting manually on my watch, so it will stay in the same menu. But there's also a way to set the HR to be always broadcasted. Did you try that? Does it stop the broadcasting when you enter the app on the watch?

  • Thanks for the reply, but maybe I did not explain my issue correctly.

    I've enabled HR-broadcasting on my watch (F7X), this works and sends the HR to the edge. The edge displays the HR on a default data field or my edge app correctly the watch is connected as HR sensor @ the edge device.

    But then the trouble starts... when I switch to my data field widget @ the F7X during the running activity the heart rate broadcasting stops. The edge device do not receive any HR data and the recording is also without HR. When I end the widget, e.g. toggle to the widget glance the broadcasting is enabled again and the edge data fields display the HR.

    This seems to be an architecture bug @ the Garmin firmware of all devices.

    My idea is to "reimplement" the Garmin broadcasting logic of the HR into my widget. But I do not know @ the moment how to do this.

    This is my widget that doubles the battery life time during a running activity for all supported Garmin devices:

    https://apps.garmin.com/de-DE/apps/ffcee43d-ef4f-4175-a55a-c46b6cc2918d

    It's completely free, you can try it. ;-)

    Do you have some knowledge how to broadcast the HR by using ANT?

    The HR value I can get in the widget app and also ANT broadcasting should be possible. The question in detail is... how have the broadcasting data should look like to be the same like the internal Garmin activity apps data?

  • This is not a bug in the watch. For each activity you can set whether it also broadcasts the HR. I know this works because when I run with my son this is the way I see his HR on my watch. He starts the Run activity on his watch and it broadcasts via ANT so my datafield on my watch see his HR.

  • Yes this is a bug for all system 6 devices like the Fenix 7 series or epix. On previous models the broadcasting works always in all conditions. This issue is related to the introduction of the so called "super apps" in CIQ.

    The bug is that when you switch from the activity app while it is running in the background to a widget. Then the enabled HR broadcasting is stopped. Just try it the next time you go for a run, start the running app, switch to a widget, e.g. the compass / weather widget / etc. and the HR does not work on you edge data field!

    I'm searching for a solution to enable the broadcasting in my widget as a fix.

    Maybe you can help here with your expertise in ANT development. :-)

    Do you know how an ANT data object is broadcasted with the SDK? Is there any where an example how to implement ANT broadcasting?

  • ...forgot, the broadcasting is enabled in all my activity apps. But always not working when switching to a widget. e.g. running, cycling, walking, skating, mountain hiking, SUP, etc.

  • On the f7, set up a hot key for Broadcast HR.  When you switch between the activity and your widget/glance, use that to make sure broadcasting is on and turn it on if it's not..