PixRacer - 3 compasses (external, 2x internal)?



Can anyone explain me how to understand it, please? I have the Pixracer with PX4 stack. Two compasses in use: internal and external (built-in on GPS module). Not sure which one is external? MAG0 or MAG1?

If MAG1 is external, should I change value from “Internal mag” to “No rotation”?


My reply apparently failed to go through the first time… here it is again:

Mag0 should be your external mag. It is apparently an error for QGC to report it as internal. Is “No Rotation” correct for your external mag?


I did it finally. Works perfect. MAG0 is external (no rotation) and MAG1 is internal. MAG0 is primary. Did a calibration two times, just to make sure. Orientation is correct.


Hi there,

Bonus question: Mine shows three…


CAL_MAG_PRIME is 73225 which appears to be the external one (Hobbyking M8N GPS) and that’s good.
But why are there two “internal” ones? And why do these have the same IDs that marimach77 is also seeing? @marimach77: Have you tried rotating the external compass only, to see whether it is indeed being picked up?

I am running QGC and PX4 Master on a Pixracer, both downloaded yesterday (but had the three Compasses already with a build from last weekend).



Do not look at the values on my first screen shot. Both taken before compass calibration as I remember. This is my current setup after calibration:

If turn external compass I see orientation arrow movement. Seems we have same IDs for our compasses. I do not know the PX4 code but these IDs could be hardcoded and static values.

And bonus from me :grin::

No idea why and do not know what & where is CAL_MAG2_ID device :worried:


I looked at the parts of Pixracer again, it contains as per auav.co:

MPU9250: 9 axis sensor incl. compass
HMC5983: 3 axis compass

Can someone confirm that these are the two internal compasses we are seeing?



@Zimbo, you could be right. Two internal compasses in Pixracer.


The PixRacer does have 2 onboard compasses, an HMC5983 and an AK8963 inside the MPU9250.


So, it is clear now :grin:


Wow, the 3rd doesn’t show up in APM.
I have 2 identical copters with pixracer, one, the internal compass has offsets no higher than 200, the other has them over 700… Literally exact same construction and parts on both copters. I wonder if they are somehow using different internal compasses…
I guess I’ll load up px4 and see what I get w/ it…


It does (now). 3 MAG,if you´re using an external. Nevertheless I´m still not sure, what its good for. Although I haven´t seen offsets above 550;-)


What are the benefits to have two on-board compass?

Disabling internal compasses to arm the drone

I am not sure there is a benefit to the current boards but the MPU9250 has always had a Magnetometer inside, we just enabled it in the driver. It paves the way for a single IMU flight controller based on the MPU9250.

1 Like

I seem to have 4 on QGC! Is there any way of disabling them? My FC is placed on Mu-metal to suppress external interferences yet even tho quad is placed flat and stationary, compass just keeps drifting.


Hi, im having the same issue with my pixracer r15, I’ve always mag0 fail test… how i can solve it

1 Like

hi Marimach, im having issues with my pixracer r15 with the px4 1.8.0 firmware, even im doing the calibration of the compass correctly after I’ve connected it om qgroundcontrol i have this problem…

, after I’ve reinstall the firmware is mag 0 fail test.
How i can solve it?

1 Like

I have got exactly the same problem. Anyone has an idea to that?

Thx, Tom

1 Like