Compass calibration never completes!

Hi Guys:
ArduPilot Newbie here.

I’m rebuilding my Diatone Tyrant Quadcopter with a Matek H743-Slim FC (no onboard compass), and an external Matek M8Q-5883 GPS/Compass. Both are brand new, and properly wired together (good continuity), but not yet installed in the quad. I’m running the latest ArduCopter ‘Matek H743’ firmware, and have had no problem connecting my PC to the autopilot (using MP v1. I was able to calibrate the accelerometer, but have been unable to complete calibration of the compass.

I tried multiple times in multiple open-field locations with a lock on 12-14 satellites. The nearest building (my house) is at least 50 yards away. The compass is recognized as compass #1 (the only one), and the green bar moves to the right as it should, but when it reaches the end, it simply starts over again. I don’t have a buzzer attached, so no tones, but I never see the reboot message. I tried ‘default’ and ‘relaxed’ fitness modes as well as modifying the ‘COMPASS_OFFS_MAX’ parameter to 2000 and 3000 per the ArduPilot compass doc. No luck.

My procedure has been to stand with laptop in left arm, and compass in extended right hand. Pockets are empty. I hold the compass in upright position and slowly spin 360 degrees. I then hold the compass in each of the other five positions and spin 360 degrees for each.

I have no reason to believe this brand new FC or compass is defective. The compass shows up in Mission Planner and the calibration seems to work as designed… until it gets to the end. It just never completes! I searched the forum for help, but found nothing relevant. Any chance the calibration software is not playing nice with the two Matek devices… especially the new H743? Any suggestions? I’d love to resolve this before moving on to Rx setup.

Thanks and Best Regards,

Try in this way. In the same page (Compass) in Mission Planner, if you go down you can find a button where you can insert the heading manually. So you have to put the copter with heading S (checking with a traditional compass) and then push this button and write 180. Turn off the copter, turn on, and the heading must be on S (180). After that try to do the calibration (from strict… and relaxing if you have difficultis). Let me know!

Thanks for the quick reply, Marco! Dark here now, so I’ll give that a try tomorrow and let you know how I make out. Much appreciated!

Best Regards,

Hi Marco. IT WORKED!!! I never looked at that ‘Large Vehicle MagCal’ button because my quad is a standard size 5", so I didn’t think I would need it. However, by first establishing a known heading (South 180), the calibration worked like a charm!

If that button was to the left of the ‘Start’ button and relabeled ‘Establish Heading First!’ It would have saved me a lot of time out in the cold here in northeast Pennsylvania! :grinning: A note to that effect in the compass doc would have also been nice.

Anyway, thanks for your help. I sure appreciate it! :beers:

Best Regards,

I’m very happy to have helped you! That button is new… I had so many problems with compass orientation… and few weeks ago I found that button :wink: Now i have problems with EKF failsafe (velocity and position errors) with a traditional helicopter… If you can help me now I will be more happy :smiley:
P.S. i don’t know if the button procedure is correct so check daily the correct orientation before and after flights :wink:

I wanted to add to this since I recently purchased a similar combination of flight controller (H743-Wing V2) and GPS (M8Q-CAN) and was having the same issue. I tried all of the things in this thread and finally emailed Matek. Their answer was obvious but never crossed my noob mind to try - the compass works in conjunction with the gyros/accels in the flight controller. So in order to calibrate the compass, you have to move it together with the flight controller. It is best to mount both solidly in the model with the GPS isolated from electronic fields, but I was able to just put the GPS on top of the flight controller and hold them firmly together as I went through the calibration. It finally worked in relaxed mode. The heading is not perfect, but I assume once I am outside and both are in the model, another calibration will do the trick.