We have some onboard electronics which switch on/off during flight. We know when these systems are activated they cause MAJOR issues with magnetic interference with the onboard (Pixhawk) compass. It is enough to cause a flyaway/crash when in an autonomous/loiter mode. The external compass is far enough away that it is almost entirely immune to this.

Is it possible to disable the internal pixhawk compass?  Basically we would never want to fly unless the external one was operational and if the system fell back to the internal compass it would certainly cause a crash.

Views: 9046

Reply to This

Replies to This Discussion

Have you found anything out about this?  I am having a similar issue. 

Yes, Randy explain that in one of the latest beta 3.3 there is a param to disable, I don't have Pixhawk to check but if you have the latest beta you can find on params list, if I find the post I share.

Did anyone find the setting? I am running APM 3.3RC5 but haven't found the param to disable the internal compass.

I am getting different compass error messages. I have a bunch of wires running near the Pixhawk and I am pretty sure there are interferences. Setup worked fine with APM 2.6 and external compass.

AFAIK the autopilot mainly relies on external compass. Most people (and me) fly with such setup but it doesn't cause crashes. The autopilot considers compass errors level (and maybe compass location (internal or external)) to avoid usage of wrong data.
You can use PX4 flight stack to be sure that only external compass is used. I'm sure that current code works in such way.

Do you have the EXF enable? a friend solve enabling it

No, but we are not running the latest firmware.

We added a preflight procedure to ensure that the compass readings are normal before flight. In our case, we activate our payload and watch the raw compass readings to ensure they are not affected.

As long as the external compass is indeed connected and working we've had no issues.

The internal compass on my PX4 is really screwing up my copter. I know... the external compass is supposed to take priority, but something ain't right. I just want to disable the internal compass in my PX4, but that doesn't seem possible. The internal compass won't hold a steady heading no matter what. I can leave my copter sitting on the floor of my living room for 15 minutes, and in that time the internal compass will make a complete 360. 

I plug in the external Ublox GPS with compass and I just get compass errors. I can take the same Ublox GPS/compass, plug it into my APM 2.6 and it works fine. But when I plug the Ublox into my PX4, Mission Planner never shows the copter pointing in the right direction. I do a compass calibration and it gives me offsets of +500 (which is supposedly not possible). 

Basically, the internal compass is AFU. It's messing everything up.  All I want to do is disable the damn thing, but that doesn't seem to be possible. 

I had similar things happen to my setup.  While it is not possible to disable the internal compass yet, I had to relocate the autopilot to a place less susceptible to EMI.  I noticed that with the autopilot too close to the engine on my helicopter it caused the internal compass to drift which then caused compass errors even though the external compass was working properly.  I made various attempts to shield the autopilot from the EMI generated by the engine but nothing worked, I just had to relocate it to a better place.


I wish I could just shield it or relocate it, but there's apparently a problem with the actual internal compass on my PX4. I took the entire PX4 off of the hexacopter, set it on my wooden dining room table, and plugged it into my computer with a USB cable. Mission planner showed the heading continuously changing even though the PX4 was motionless on the table.

With no way to disable the internal compass, this PX4 is going to be useless in a multirotor. If it was in an airplane I could just set the "compass_use" parameter to 0 to force the PX4 to use the GPS heading rather than the compass heading. But that won't work on a multirotor because when it's hovering the GPS heading will drift all over the place. 

I'm having this issue too with 3.3.3-rc2. I cannot get the internal compass to disable no matter how I adjust the settings. :(

Should be able to disable in missionplanner (I'm using the latest beta, not sure if earlier version are similar) in the initial setup tab. Make compass 1 the external, then under compass 2, disable (or uncheck "use this compass" or something similar- going from memory here). I think what gets a lot of people is that compass1 is the external, and 2 is the internal.

Other way: in full params list, compass use 2 =0  (going for memory too but if you don't find I check it), Derek comment is the new way In latest MP, update it to find.

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service