During running a straight course info.currentHeading oscillates strong

I've recorded info.currentHeading during a running activity with a F5. The following chart shows the heading for a straight part of my running course in degrees

E.g. the heading direction changes suddenly from 100deg at time=48s to 302deg at time=51s, i.e. from ~E to ~NW. This is nearly the opposite direction.

I understand that heading may swing somewhat. But as the chart shows it swings at a magnitude which means that the running direction changes randomly from forward to backward almost every few sec.

I've now tested all possible compass settings and calibrated the compass many times, but the oscillation remains stable.

If I interrupt the running an walk the oscillation decreases as can be seen in this chart e.g. between time 1:43:20 and 1:45:00

This seems to indicate that the oscillation depends on the movement of the arm/watch during running.

Furthermore I've also observed that the compass is orientation dependent. If the watch face points to the sky the compass shows a plausible North direction. If I rotate the watch so that it's watch face points to the bottom, the North and South directions are exchanged.

forums.garmin.com/.../1073953

See also for Cycling using Edge 830

https://forums.garmin.com/sports-fitness/cycling/f/edge-830/224013/compass-and-heading-in-iq-datafields?tempkey=94d1f72a-1000-4a57-8c16-c19546481ad9

Can anyone explain to me what is going on there?

Fenix 5, SW 20.00
GPS 2.60
CIQ 3.1.8
SDK version 3.1.9

  • Are you using GPS at the time?  How does that track look.

    Without GPS. heading will be based on the compass all the time.  With GPS, it will use that over a certain speed.

  • Yes, I use GPS+Galileo and the track looks very good, as you can see

    It's an out-and-back route of length 10km and at the start I run nearly westwards. The max zoom scale of 30m shows only small differences between the out-and-back tracks.

    I've also tested with GPS only and GPS+Glonass, but the heading also oscillates as shown in the above post.

    The description of the compass settings according to the F5 Owner's Manual says

    Mode
        Sets the compass to use electronic-sensor data only (On), a combination of 
        GPS and electronic-sensor data when moving (Auto), or GPS data only (Off).
    


    If I switch the compass Mode settings to
    - Auto: heading oscillates as shown in the chart in the above post
    - Off: heading remains constant at the last known value, because sensor ist switched off. But where is the GPS data of  heading? May be this doesn't function properly.
    - On: heading oscillates (same as Auto)

    Today my running speed is only 7km/h because it's 34°C and I've to recover :-D  But as I've read in other threads (that are 3-5 years old) GPS heading become active above 2mi/h. So I run nearly twice this speed.

  • How are you getting the heading?  Activity.Info.currentHeading or Sensor.Info.heading?

    Try using the "other" one.

  • Thanks, Jim.

    Due to simplicity I use currently Actvity.info.currentHeading as a datafield. But I'll try Sensor.info.heading in the next days.

  • I'm pretty sure heading in ConnectIQ is just an instantaneous measurement. If you are running (swinging your arm) the value will oscillate quite a bit because the orientation of the watch is changing with your arm swing and the device is not in an ideal orientation. Like an actual compass, it doesn't work well when you turn it on its side or swing it around.

    If you turn the compass mode to Off, the native data field should not update until you start moving. Once you're going above some threshold speed, the compass will start updating. When you slow down below the threshold it will stop updating.

    If you really want to know what direction you're traveling, I think you will need to measure the movement direction by calculating change in position yourself.

  • Furthermore I've also observed that the compass is orientation dependend. If the watch face points to the sky the compass shows a plausible North direction. If I rotate the watch so that it's watch face points to the bottom, the North and South directions are exchanged.

    Yes. I believe this is expected. An analog compass doesn't do well when you turn it on its side either.

  • Thank you Travis for the response.

    If you turn the compass mode to Off, the native data field should not update until you start moving. Once you're going above some threshold speed, the compass will start updating. When you slow down below the threshold it will stop updating.

    Since I couldn't reach the threshold speed with running, I've tried to exceed the threshold in a running activity by cycling. But even with a max "pace" of 2:17min/km (26km/h) there is no GPS heading available as can be seen in the chart for lap 1. Do you've a clue how fast "some threshold" is?

    For lap 2 (Mode=On, electronic-sensor data only) again the strong oscillation of heading can be seen and the same is for lap 3 (Mode=Auto, combination of GPS and electronic-sensor data when moving).

    Since I'm cycling there is no movement of the arm/device as with running. So I still don't understand why heading oscillates strong. This seems to be in contrast to my running/walking chart in the OP.

    In addition the lap is a straight out-and-back course of 1.2km. The out direction is west and the back direction is east. As can be seen in the chart for laps 2 and 3, in west direction the oscillation is smaller than in east direction.

    So I'll observe this problem further in the next time.

  • @subra

    It isn't clear where the data you're displaying is collected from. I specifically described the behavior of the *native data field*. Is this data from the native data field, or is this from a ConnectIQ data field?

    I'm pretty sure the threshold speed is something something slow, probably 1mi/hr. I don't know exactly what it is, but it is much slower than 2:17/km.

    I feel like we've described away the problem you've mentioned about the data you see with a fenix5 when running. Your arm is swinging around and the compass is not in an ideal orientation, so you're going to get garbage data.

    I think that if we can agree that the oscillation on a fenix5 in run mode is expected, then we can move on to the next problem.. the issue you're seeing with heading on an edge830 mounted to a bike.