Compass not recognized

Having problems with a HGLRC M100 GPS/Compass in Arduplane. FC is a Speedybee F405 Wing. Arduplane in Mission Planner recogizes the GPS and finds 10+ satellites, but MP cannot find the compass. I’ve set compass autodetect, compass enabled, and compass external. what else can i try?

It is normally not a problem of mission planner. This is only a visualation SW. All data are coming from the FC.
So the problem is probably a wrong installation or configuration. To check this all details about your GPS, used FC, used firmware, all parameters are necessary to investigate the problem.

I agree, I have provided the FC and GPS/Compass, and AP 4.6.3. Do you wish to see the parameters file?

Frankly, through the years, I have had so many issues with compass recognition and calibration in Arduplane, I sometimes wonder if it’s worth my time trying to solve it. It seems so hit and miss. In the case of this plane install, I’m just going to fly it LOS in FBWA, so I’m likely to turn off the compass in Arduplane if I can’t readily solve the issue.

If it’s working and connected properly you shouldn’t have to set any parameters for it to be given a device ID and seen by the Flight Controller. Default parameters should do that.
SDA>SDA SCL>SCL Pins from the module to the FC. In Mission Planners HWID screen see if there is a device ID.

If you want help provide the details I ask for.
Which version of the HGLRC 100 are you using as there are different ones with and without on the market.
How you connected in detail to te FC pin by pin.
The compass function has nothing to do with the GPS function. These are seperate functions on such modules. If one of it work does not mean that the other is connected and configurated correct.

Pics of MP Messages and HWID after I connect. Outdoors, the GPS finds 12 satellites no problem.

It seems that your compass is not connected correct as it is not identified by the FC
GPS quality and number of satellites has nothing to do with this. GPS is connected via serial port, compass via I2C.
So most probably your I2C wiring is wrong.
Show your connection pin by pin.

GND to GND

5V to 5V

TX to RX

RX to TX

SCL to SCL

SDA to SDA

I’ve now tried 3 different GPS/Compass units. HGLRC M100-5883, Walksnail WS-M181, and BN 880-5883. Compass not recognized by any of them. I rechecked the wiring and pins on the units and on the FC.

Hm, did you wired all this units by yourself or did you used fixed cables/connectors.
The pinout of the modules are not normed.

On the Walksnail, the cable came with the correct pin assignments and connectors. On the other two units, I used the connectors, but had to resolder the wires to get the correct pin assignments.

And those I2C (SCL/SDA) pins are on the FC GPS connector?

yes they are

On the Speedybee FC I can either use the 6 pin connector, or solder them directly. Think I should solder them instead to make sure?

+5, GND, Rx and Tx are fine as they are because GPS is working. I suppose you could direct solder the SCL/SDA wires to the pads instead of using the connector.

But, I wouldn’t use a Speedybee Flight Controller for the cheapest toy so no direct experiance.

Have you heard issues with them, or are you suggesting that cheap means unreliable?

I cannot afford Pix FC, but I’ve had Matek boards work well. Any others you recommend?

Today I like the TBS Lucid H7 boards. There is a Wing version. I have several Matek boards, all good. There is even a Lucid Wing AIO board.

1 Like

Swap the I2C lines. There is no electrical danger in doing so. The most likely cause is that you have crossed them by accident. The QMC5883 compass module is widely proliferated and well supported.

2 Likes

Worth a try, since I’m going to try to solder the I2C wires directly.

To clarify, are there any parameter settings that would prevent the FC from seeing the Compass. That is, if I have a working FC and working compass, if I have the I2C wires correct, the FC should see it?

BIG DISCOVERY! I decided to look at the FC connector for the GPS…behold, one of the pins inside the connector was bent over…it was the SDA pin! That would explain everything.

1 Like