I am attempting to calibrate my internal and external compass. I have a Pixhawk 2.4.8 running Arducopter 4.0 with a Ublox M8N compass.
My issue is that the internal compass calibration percentage increases whilst the external compass remains at 0% and will not calibrate. It is recognised in the HW ID tab. I am able to calibrate the internal compass successfully by eiher disconnecting the GPS compass or by deselecting ‘Use this compass’ for Compass #1
Presumably it is much safer for autonomous flight to use an external compass, but does it make a huge difference? Currently I can only suspect a dodgy compass module but wanted to make sure I was doing everything correctly first! The GPS module also gets very hot, so much so that it the double sided tape holding it on begins to come loose.
I attempted swithcing the RX and TX cables for the compass round with no luck. My previous flight controller had a short of some sort that caused it to fry and somehow broke the gps module in the process. This is a new Pixhawk and gps module however so that should not matter.
Jake, the compass doesn’t use Tx/Rx, since it’s on an I2C bus, so it’s Clock/Data. If it’s recognized by the FC, then wiring is OK.
Problem is, HMC5883 production ended a couple years ago. What you find on shelf these days are probably QMC5883 chinese clones of shoddy quality.
I also have the same issue, I think the problem is in the pixhawk board itself. I have tried using different external compass and it never worked, I’ve also tried updating firmware, installed new and old firmwares, still getting the same result. To confirm that the external compass is not the problem, I’ve tried using those external compass on other pixhawk board and it work just fine. Try replacing the pixhawk board.
Yeah just for the record I have the same issue. The first time I calibrate after I install the firmware the Ublox compass went through the calibration okay, but every time I try to calibrate compasses after that the calibration never completes until I disable this external compass. I tried manually resetting all of the calibration parameters to 0 before recalibrating but this didn’t help.