PixRacer w/ HERE GPS random inconsistent compass

I have a setup that uses a PixRacer and a HERE GPS module with internal LEDs and Compasses. I have been flying successfully for a while now without any major issues except I would get a random “inconsistent compass” error upon boot. I would reboot the PixRacer and then it would boot successfully and pass. It usually would only happen on the first boot and then no trouble after that. Over the last couple of days I am now finding that the inconsistent compass comes in on every cold boot and I can not get it to clear unless I re-calibrate the compasses. Once I do this it will pass the calibration and then I can fly using Loiter and all GPS based flight modes without issue. I can even fly a couple of batteries and everything works great until I put it away and come back the next day and have to re-calibrate again because of the pre arm inconsistent compasses. I don’t know if it is because of the weather getting warmer affecting something or what how to answer this issue. Any help or advice would be greatly appreciated.

Are there any metal objects under the copter when you get the message? Does the error go away if you pick it up from the ground after boot process?

I usually fly from the same place and always place the copter directly on the ground. No metal objects around. Come to think of it there have been a couple of times that I do believe it did clear after picking it up.

Are either of the internal compasses enabled? I had to disable them both in the 2 PixRacers I have for the same errors. The offsets were very high in any case.

I have always used the Pixhawk defaults (1 External and 1 internal enabled). I think I may have to take this path to only use external and see what happens. I have the external elevated and the pixracer is mounted next to the battery. I will give it a try. What happens if I lose the primary compass and no internal is enabled using a GPS based flight mode. Will the EKF failsafe be engaged to land?

Right. There will be an EKF variance error and switch to pilot controlled LAND. I only have one craft where the internal compass is useable. It’s a Pixhawk FC sitting on the top plate of a multirotor and the battery is below the bottom plate. In all other cases (other Multirotors, Plane, Rover) I have them disabled.What is needed is the capability for 2 external compass’s.

In Mission Planner it does give the ability to define compass 2 and 3 as external. I wonder if you have another external on the I2C bus if it will discover the 2 external first and then implement one of the Internals as the 3rd. If this is not supported hopefully in the future they will implement this as most of the redundant GPS used and implemented also have another compass in them that could be used. I’m sure the devs have considered this at some point. Thanks again for your help and advice.

The problem with the second compass on the external I2C is that they come with the same ID.
If you can get an I2C compass with a changeable ID then you could have 2 on the bus.
With the PH2.1 that has 2 external I2C buses, I have one on each.
There is known problems with the internal compass variances on the Pixracer with interference.
In fact, even with the PH2.1 it has been recommended to use only external compasses.

Mike, I have tried to search to see if there were any real common problems with PixRacers internal compasses. Thanks for confirming that I am not the only one. I will move forward with only the external compass.

I had several occurrences of this message, and every time I could attribute it to something under the copter and fix it by moving the copter. A magnetic rock in the ground, some rebars from the underground garage etc. I’ve tried flying with only the external compass without any problems, but as this error is just a small nuisance for me, I usually keep both internal and external compasses enabled.
Oh and I’m flying a Pixhawk on a TBS Disco Pro frame, but with tall legs, and the problem still appears occasionally.