"Bad Compass Health"

I’m having a problem with a Pixhawk that came with a 3DR DIY 4X kit.
APM Planner is reporting “Bad Compass Health”. The compass is an
external uBlox GPS combo that came with the kit.

I’ve tried several solutions that include,

-running APM Planner with the quad outdoors with a clear view of the sky,
-repositioning the GPS/compass antenna further away from the frame
-swapping the 3DR provided GPS/compass combo with a Ublox M8N that I had laying around,
-installing ArduPlane on the Quadcopter, then reinstalling ArduCopter-quad, and
-inserting a new sdcard.

None of these have provided resolution.

I have two other quads with Pixhawks, (one is a genuine 3DR, the other is
a BangGood knockoff) and I had not encountered this error with either.
Here is a picture from MissionPlanner of the compass settings. Any
suggestions as to what might be the issue here? Thanks in advance…

I see 0 samples on the cal screen. Try unplugging the compass from the pixhawk I2c port and try a cal again. you should at least get samples from the internal compass. I have seen this problem before and it was an address conflict. The ‘cheap’ external Compass was set to the same address as the internal compass.
Also I have seen this with FRSky receiver antenna being too close to the external compass.

I’ll unplug the I2c plug from the port, cycle the board, and then plug in again and see if I get resolution. I have tried something like this with two compass/gps uBlox units so far. One was the unit that came with the 3DR kit. However, I did not boot with the I2c socket empty. Doing so might reassign the port address and solve my problems. I’ll report back. Thanks.

Okay, with 12c and GPS unplugged I can do a compass calibration. With just the GPS plugged in (and 12c cal unplugged) I can arm and spin the motors. However- I am not getting a GPS signal. I’ve tried this with my two uBlox units outside with an unobstructed view of the sky. When I plug 12c in I get bad compass health. I’ve yet to get a good GPS from either uBlox. Thoughts on this? As indicated earlier, I’ve got 2 other Pixhawks, neither gave me the problems that this one has.

Since you have 2 other Pixhawks, the question I have is: have you tested this GPS/compass combos with them? Do they work there?

Yes, both work as expected when plugged into other Pixhawks.

Would you mind posting a photo of your setup with the GPS/compass in place. Photos sometimes tells a good story and could help us .

It’s a stock 3DR 4X quad. Almost as nice as a '64 Mustang.

I did post a question regarding compass problems on a 3DR X4/X8 Facebook forum and got no responses.

The GPS communicates by serial interface and the compass communicates by I2C. So if neither of them are working then you have two bad connections. One on serial 3 and one on the I2c port.

Mission planner should report no GPS on the status screen and the external compass would be missing.


1 Like

Sorry for the slow reply, so it seems like during the discussion above, the problem is narrowed down to just this particular Pixhawk because connecting the compass/gps to another pixhawk works ok.
I suspect it’s a hardware failure on the Pixhawk so you could try an “RMA” with 3DR but who knows if you’ll be able to. Another possibility is that the I/O firmware is not being loaded so you could try holding down the safety switch as the board is powered on. I think this is unlikely to help though.

1 Like

Thanks for the belated response RM. I’ve got the '64 Mustang flying and am happy with it. It seems that the stock 3DR GPS that came with the kit had problems, as did possibly my spare GPS (!!!). Thanks again for your response and work on this project.

I have install pixhawk and tried to takeoff with raspberry pi 3 but all motors are not rotating . Kindly help me , my project submission date is near… I have same setup as yours plzzz help me out. Is it related to wrong configuration or any parameter?? plzz explain me step by step what to do with this setup

Same issue with my pixhawk bouth from mRo!!! Next time I will go for BLueRobotics!!!

I have a apm2.8 without internal compass and have a Neo m8n GPS with compass when I connect it to mission planner to it says bad compass health and unable to calibrate pls help me out

It could be that Arducopter 3.1 or whichever version is the greatest available for APM does NOT support your compass. The Neo m8n (and probably the included compass) is relatively new and the APM and it’s Arducopter version is a few years old and not supported.

You should purchase a newer supported flight controller and you will find there’s nothing wrong with calibrating that compass.

You posted in the wrong thread. An APM won’t run firmware past 3.2.1. Ditch that obsolete FC for a supported one.

APM 2.8’s generally do have a compass. Remove the jumper to enable an external compass and use the connector below the GPS connector not the I2C port.