Problem with compass

Hi, I’m using a vrbrain V5 and I want to use an external GPS and compass (3DR) but even if I disable the internal compass he keep giving me information. What am I doing wrong?

What information is it giving?

The heading in the HUD of Mission Planner ?

I don’t know if I can explain it well but the question is, when I turn to left and right (yam axis) the VRBrain (even if the internal compass was disabled) is changing the compass values. What I want is to fully disable that and use only the external compass to change that value.
Tell me if you need more information or video to explain more specificity.

Where do you see that compass values change ?

As far as I know , the heading of the copter is calculated using not only compass but gyros too, the compass is checked at a slow rate while reading of gyros is much faster.

So if you just look at the HUD heading you can see a variation if you rotate the Vrbrain but this does not mean that the internal compass is used.

If the external compass is not fixed at the copter , you can rotate it and you will not see an immediate change in Mission Planner HUD.

Yes correct you can not use the HUD for troubleshooting compass. Use the detailed status page and look at the magnetometer data specifically.

Thanks for your reply. Yes I thought that too, but there is any possibility of conflicts on vrbrain, because of the values ​​given by internal gyro and the external compass? It’s seems when I lift the hexacopter booth they are giving different values ​​and then appears the error: bad compass heath.

If there are conflicts between the values of the internal compass and external compass you will get the “compass varience” error. Just disable the internal compass it really serves no purpose with a good external compass instead.

I checked the detailed status now mike and you are right the compass is not changing values. It’s the gyro and the external compass. So if is not conflicts between the internal and external compass what can be to give the error: bad compass heath?

You have some kind of interference with the magnetometer. Power cables on your multirotor being routed to close to the mag. Calibration near metal objects. Like rebar in a concrete patio, metal roof, next to a big car, cal’ed over a buried tank in your backyard etc etc.

I tried to lift the drone on other place to check and I’ve got the same problem =s
But I’ve another question, what means gyrosq? This value changes from 0 to 44 when I lift up the drone.

Hi again @mike I updated the firmware and the error of bad compass disappear, but now I’m getting the error “compass varience”, I already turn pitch to 180º but still getting the same error. Could you please help me

Normally compass varience means the internal compass and the external compass don’t agree. They are sending different direction information to the flight controller. This is commonly caused by the external compass not pointing in the right direction, as long as the Pihawk is properly pointing forward. Many inexpensive GPS/Compass modules are mis-marked as far as pointing forward. Sometimes you need to open up the unit and look at the mag chip and figure out which way is forward from the manufacturers data sheet.

Thank you for the reply @mike, but I’m using VRBrain and I already open the module (3DR) and what I found was, if I move the module to match the x and y axis at the same direction of the VRBrain axis, the Z axis stays upside down. How can I fix this?

Enter the value ROLL_180 to right the Z axis then align the X and Y again.

As Jagger says in Mission planner on the Compass cal page is the option to tell Arducopter what orientation the compass is in vs the normal. You can actually point it any way you want, and most have the mag chip upside down, but you must tell Arducopter what the orientation is now. Upside down is normal for Arducopter when a Pixhawk tries to auto-detect the compass.

@Jagger @mike but can I change only one axis at a time?
I though if I change one axis the other will change too. I will try explain better my problem. My VRBrain have the following orientation: X (North) Y (West) and Z (Up). The 3DR have the following orientation: X (North) Y(East) and Z(UP). I have 2 axis at the same orientation (X and Z) but still one that have the wrong orientation. So if I align the X and Y I have to PITCH_180, and then I have (the 3DR) X North, Y West and Z Down. What I’m asking is if there is anyway to change only one axis, because if I ROLL, PITCH or YAM I will have one axis that I can’t match with the VRBrain. And if the error compass variance it’s caused by this (even if I remove the jumper to remove the internal compass)
Let me know if I was clear.
Thanks for your help

shortcut to our setup :

The orientation options can allow any position. Think about it as if you are telling Arducopter how to rotate the compass to get it back to “nornal” There are commands for every needed rotation.

The 3DR Z is not up it is down. Normal for 3dr gps/compass units is the mag chip under the circuit board which makes it point down -Z.

Hi @mike yes the problem was that I thought the Z is up. Ok so if I PITCH_180 the 3DR will be at the same orientation of the VRBrain. But it keeps the error “Compass Varience”

“Compass Varience” means that the internal compass and the external compass don’t agree. Which usually means the external compass is pointing in the wrong direction or the orientation is set wrong.