Dual GPS: Must Units Be Identical?

I have a Pixhawk (from 3DR) and I know both it and AC support dual GPS, but I can’t seem to find any explanation as to whether the two units must be identical in order to work correctly (to be specific, I have two Neo-M8N GPS units from different manufacturers and while they share the same u-blox modules I suspect they have different compasses.) The reason I ask is when I use dual GPS I get errors during compass calibration (the secondary GPS always fails regardless of which unit is used as the secondary.)

When working as a pair, both units show up in AC 3.4 and both units appear to be healthy and see roughly the same number of satellites. However, it takes several attempts at the compass calibration routine before the results are accepted, and even then the secondary unit always has errors. If I just use one GPS unit at a time there are no errors.

Does anyone know if matched units will resolve this?


The GPSs don’t need to be the same. I am running a Septentrio AsteRX and the standard 3dr and they work together. However, I am only using two compasses; internal pixhawk and external 3dr. I’ve done three or four compass calibrations with this set up with no problems.

1 Like

Thanks for the reply, David. It sounds like my setup is similar to your own. I’m also using only the primary GPS unit and the internal compass. The compass in the secondary unit isn’t selected.

I haven’t revisited the problem for a couple of months but I’ll try to have another go over the weekend. Fingers crossed

I have seen several post where Randy suggests that its not recommended to setup dual GPS in 3.4 . The suggestion is that better support will be added in a future AC revision.

See his comments here: GPS glitch and short fly-away with Copter-3.4.4

And reference to better GPS code being expected in AC3.6

1 Like

The issue with using dual GPS is that the current method of changing between the two is very basic: it checks fix type and satellite count number.
It can be worse with different GPS models: if you have a GPS that only supports the GPS constellation you will most likely have an inferior satellite count number than a GPS that GPS and GLONASS, for example. But having a superior satellite count number doesn’t mean that you have a better position accuracy.


First remember that the GPS function and the compass function are totally separate. Compass calibration has nothing to do with dual GPS. I probably has to do with the GPS/Compass unit pointing the external compass in the wrong direction. They may be housed in the same case but they are not related. As mentioned switching between two GPS can cause a glitch if the first GPS has been “wrong” and suddenly you swtich to a second GPS which is “right” or different than the first.
You can not have more than two compass, one internal one external, with current external units which all have the same I2C address. You would need to change the address to a unique address.

Adding a second GPS could be for two reasons. Simple backup. First GPS fails completely and second takes over. Better accuracy from two or more GPS. Here I would argue that two different GPS might be better. One with the additional European and Russian GPS systems and one with just the US GPS. The first having more satelites and the second having a narrower bandwidth more selective receiver.


Thanks, Mike. Simple redundancy was what I was seeking.

As far as compasses, I had left the second compasses unconnected.

Thanks, Paul. I missed that post. If that’s the case then I think I’ll shelve the secondary unit until 3.6 is released.

I think in the case of GPS failure I’d rather risk a GPS glitch then have the aircraft lose GPS not be able to RTL and land in the trees somewhere.

1 Like

Is there possibility for second GPS2 to jump in only when GPS 1 is below 6 sat or stop working…not like it will choose better between 2,but only if its fail on GPS1?


I am working on dual GPS too. CUAV M8N NEO.

but only one GPS (GPS port 1) being detected.

anyone face the same issues as me ?

Hi mike your right , but can please help us to share how to change the I2C address of compass, because both my internal and external compass is having the same address

did you try with CAN port

Most modern I2C compass units are all factory set to the same I2C address and they can not be changed.