Compass calibration stop at 33%

I spent serveral days looking for some additional information without results.
I have a matek H743 slim with latest 4.1.2 fw
Matek M9N-3100 compass loaded with ap_periph fw connected via uavcan
Missionplanner 1.3.75 (beta but same behaviour also with the stable version).
Can’t complete the compass calibration.
It always stop at 33% also with relaxed fitness and even with the COMPASS_OFFS_MAX at 3000 or any other value.
What I’m doing wrong or where I have to look for indentifying the cause of this issue?

thank you for any advice!

PS: from the uavcan plotter looking at data in realtime seems that one of the mag channel is always zero… am I wrong? could be the cause of stuck in calibration? is it an hw or fw problem in your opinion? thanks again


1 Like

Good day, while you are performing the calibration are you rotating the drone in all the axis?

hi, yes… severl time on all axis like illustrated in compass calibration access. the % increase up to 33% and then stop.

Check pls the position of the module… keep it far as much as possible from every antenna and wire

same Behaviour even if in only plug it using USB and nothing else connected.

Which version of ap periph are you using on the module?

My idea is that because i have no signal on mag.z i can only calibrate XY plan (one over three). It could be feasible?

Are you calibratin the compass with oe withour battery? Ive done same test with mine…last firmware work well

I tried both the way.
The latest firmware should work.
So I still believe that is some HW issue

I think you do have a HW issue.

Module its faulty… just send it back to the seller for another one

1 Like

I’ll try. many thanks for confirmation

Hi, got exactly the same problem on my Matek H743. It was working fine before upgrading to 4.1. Unlike @androx I use a cheap m8n GPS+compass so it seem that it does not come from the compass itself, nor the FC as it worked fine before 4.1.
I stupidly decided to fly anyway despite that…and crashed. My copter flew well up to a certain waypoint of an auto mission and suddenly derived out of the programmed path. 3 seconds later it started to spin very quickly and I decided to deactivate auto mode but I was not able to recover the drone before it crashed. I’m now waiting for some carbon tube to repair it before trying to calibrate the compass again.

Finally used STM32cubeprogrammer to fully erase H743 before loading arducopter 4.1.2 and now compass calibration works. But I crashed again with same behavior…so it wasn’t mag issue. Will open a new thread for that

@androx I have 2 of the same units (Matek M9N-F4-3100) with the same problem, showing no response on Mag.Z that I ordered in November. In fact, I have a 3rd unit from an earlier order (October), perhaps different batch, that works fine so I can test them side by side with the same firmware and config and show there is indeed a fault in the board. Wonder how widespread the issue is.

It could be. Matek support hypnotized a dry solder on the z magnetic coil and suggest to reflow the pad or substitution under warranty. I opted for the second one because the reflowing it is pretty critical for that component. I studied the 3100 datasheet and in theory it is not possible to do with the normal soldering procedure. I’m waiting for replacement hopefully of a different batch.

Definitely an HW issue. The new device works properly. The seller kindly let me also the not working device so I’ll try to very gently reflowing the dry solder and see if it is an easy procedure.

i have several different modules with the same problem. I have been building drones for 6 years … I can say for sure that this is not a HW


In my case it was the davice. As soon I substituted the device, everything started working correctly.

Good day,
ive three LocationOne and i was able perform the calibration.
Just perform the calibration rotating the vehicle in all the axis, keep far the module far from every antennas and electric source.
Connect the battery for perform the calibration and update the AP_Periph firmware.
What kind of flight controller are you using?