Solution:
Root Cause: Software Sensor Alignment Mismatch Relative to Board Mounting
If the external GPS/compass module is mounted upside down, rotated 90/180 degrees, or if the flight controller firmware orientation settings (e.g.,
CW 270 Flip) do not match physical mounting, the flight controller receives inverted vector calculations. This produces a conflict between internal IMU gyroscopes and compass heading outputs.
Step-by-Step Fix:
1Check Physical Direction Arrow:
Verify that the physical directional arrow printed on top of the GPS puck points directly toward the front (nose) of the aircraft frame.2Adjust Alignment Parameter in Configurator:
Open your configuration software (INAV, Betaflight, or ArduPilot Mission Planner) and locate Mag Alignment or COMPASS_ORIENT settings.3Test Roll/Pitch Vector Response:
Save settings, reboot, and tilt the drone forward and right in the 3D viewer; confirm that the compass heading map responds without unexpected spinning or offset errors.