Hello everyone,
I have been facing a sensitivity issue with QMC5883P magnetometer which is there in my TBS M10Q GPS module which I have mounted on a 3D printed mast on my 10” FPV drone. I have 10 similar drones in which I have 5 drones with Flywoo Goku GM10 Pro V3 GPS module that has a QMC5883L magnetometer and on the other 5 I have these TBS M10Q GPS modules installed, I am using a DakeFPV H743 FC stack and I am running ArduCopter 4.6.3 firmware on my FC. All the drones are having same parameter files in them, I am flying all the drones from the same location in my apartment, the ones which are having Flywoo Goku GPS modules are flying without any problem, the ones which are having these TBS modules are not arming and are giving PreArm: mag field error XY diff 130>100. I tried keeping the drone at multiple different locations but the error persists, the error only vanishes and the drone arms when I keep the drone at a very specific location after almost trying 10+ locations. What could be the problem? I checked the datasheet of both the magnetometer ICs and have found out that the QMC5883P has more sensitivity range than the QMC5883L IC and secondly the scaling factor of 5883P IC is different than that of the 5883L IC. Upon checking the source code of ArduCopter 4.6.3, both of these ICs are using the same scaling factor for reading raw magnetometer values from the chip whereas the datasheet has a different story. I have increased the ARMING_MAG_THRESHOLD parameter for now so that I can fly my drones but I just want to know why this is a problem in the first place. Is it a driver problem or something else? Please suggest.