Compass not detected in Hardware ID

Hi, I can not calibrate the compass because it does not appear in the HW ID list. I tried to switch the CL2 and DA2 lines but to no avail. The compass is working fine however, indicating the right direction when I move the helicopter around. But I keep getting “Bad Compass Health” and for this reason the helicopter will not arm.
I am using a Matek 405 Wing, Ublox M8N GPS with compass. The Matek is running Arducopter 4.5.1.
Can anybody assist so the arducopter can identify the presence of the compass?
Thanks in Advance
Ivan

Can you post a logfile please?

Hi Oli B.,

Yes I can.
Last time a looked at a log file was to see the level of vibration. Is there a log file which adresses compass?

If the compass is not detected, it’s not working. You’re seeing heading change based on IMU measurements alone, and they are probably wildly inaccurate.

Hi Oli B, Now I understood. Here is the log file.
2024-04-30 10-30-13.bin (396.2 KB)

Yeah what Yuri said, there’s no compass sending any data at the moment. How have you wired the compass? SCL and SDA should go to CL2 and DA2, respectively.

Also what GPS/compass moule is it exactly? It’s very likely a QMC5883L, but who knows…

I tried with two compass’
NEO-M8N-0-01
MATEK M8Q -5883
Both can detect satelites and point the right direction, but the FC can not recognise any of them in the HW ID.

GPS and compass use two different connections, even if they are in the same component. GPS needs to be connected to UART (which you seem to have done successfully), and compass needs to be connected to I2C with two more wires. Can you send a pic or schematic of your wiring?

EDIT: This photo of a generic Chinese GPS+Compass combo shows it well.

Here are two pictures of how the gps and compass is wired up to the Matek FC.