GPS blending, device position and offset compensation

Good morning,

as I’ve read a lot these days I had the feeling that many people faced issues with GPS glitches and erratic behavior of their drones, so I decided to use two GPS units (Here3) and do GPS blending.

However, I now have basically two options for mounting two devices (on the upper deck):

a. one in the center of gravity (X ± 0cm), the other one in front of it (X +10cm) or
b. one behind center of gravity (X -5cm), the other one in front of it (X +5cm)

What would be your recommendation?

It’s written that if all devices are within 15cm doing a position offset compensation might have no noticeably effect. Despite that would you recommend to configure a position offset or has it any disadvantages?

If yes, I have to do that not only for GPS_POSx but also for INS_POSx. I would have 5 IMU’s, three in the Cube plus one for each Here3. How do I detect the order of the IMU’s (i.e. which one is first, second, …), are there all five IMU’s used or two of them neglected and is there maybe a way to set the order?

Last question … I’m a noob in the DIY drones thing, so sorry for that … is there any parameter do to “compass blending” as well?


Hi, is there anyone using GPS blending?

Anyway, I “solved” the problem in another way: I’m gonna use a Matek M9N as second GPS because I don’t have enough space for a 2nd Here3. It’s small, has NO IMU and it’s compass is connected to FC using a different interface, so I can choose to not connect it at all.
X position will be only +5 cm, so, as it will be used for GPS only, I’ll skip the correction setting.


GPS blending should only be done between similar GPS units. The position offset can be whatever as long as they are correct (relative to the FC) and the code does the math for that.

Ok, thank you. I interpreted using same manufacturers GPS as a recommendation as the initial tests were done with two different GPS as well. Anyhow, as the Matek isn’t that expensive I’ll give it a try. As it’s written “weighting of the two GPSs is determined by their reported accuracies” it should work ok. Anyhow, I’ll check the logs afterwards and if it isn’t ok, I switch from BLEND to USE BEST.

Is there any possibility (if I set USE BEST) to get from the logs, which GPS was used and when?


Hi Axel,

GPS blending is a good idea to handle glitches. You should definitely use two identical GPS units for this, your two here3s are perfect. Because then blending might even be able to improve your position estimate.

If using two different units, the more compact GPS might have a lower performance due to the antenna size, but being from a different manufacturer it could report a higher “health” value and therefore your position estimate could become less precise due to overweighting of the poorer signal. This could even be more pronounced if you “use best” because the FC doesn’t know which position is actually best, it just follows the GPS which claims to be best.

As far as I know the here3 GPS does not publish the IMU by default and if you set it to publish it, the FC can actually not do anything with it. As far as I understand this IMU is just a feature available to be used for advanced custom projects. But I would be very interested to learn about any actual use cases.


Looks like good advice from @snakeeater.

I think setting the GPS_POS_XYZ values is a good idea even if they are small. It’s not necessary to set the INS_POS_XYZ but every little bit helps I suspect if you’re up for the extra effort.

There are varying opinions in the dev team about “use best” vs “blending” but I personally always use blending and I even do it with slightly different UBlox models from different manufacturers and I haven’t noticed problems.

So while I think the advice about using two of the same GPSs is good and that is the ideal setup, I think mixing two UBlox models seems OK… and certainly using the same Ublox model but from different manufacturers is also OK.

1 Like

@snakeeater, @rmackay9 thanks a lot for your help, appreciate it!

1 Like


I’ve actually one question: If we indicate the GPS_POS_XYZ, which POS would be reported by the autopilot? the one one from the GPS or the one from GPS plus correction?