DJI Mavic, Air and Mini Drones
Friendly, Helpful & Knowledgeable Community
Join Us Now

The BIG GNSS (GPS) Issue -- The Constructive Thread

It’s actually really important that hearsay and incorrect information is not allowed to become “fact”

The reason is in future when other DJI drones or other manufactures use this chipset people will look at it and say ohh it’s the bad one beciase that guy said it is or it’s badly designed.

Hearsay and rumours quickly become fact online. The OP post is very cleverly written in such a way that it’s hard to go back with “facts” as such. It’s a classic example of “prove me wrong, ohh you can’t.” Well we can actually.

I have spent half the day talking with one of the main hardware designer of one of the flight controller manufactures. While I can’t share docs as it’s all under NDA with Ublox they are more than happy with what DJI appear to have done with the module. Antenna is good, ground plane is good, battery in place and no issues with any of the chipsets chosen. Nothing alarming initially. I have ordered a Mavic 3 GPS module my self tonight for £100 and that will be here this week and I will also do some digging my self and sharing findings.

My hardware guy did comment on the use of BeiDou though and it was not exactly good.

To the the fantastic user who hooked his upto Ucenter can you share any info you will save me an hour on connection pin out ect.

Edit:

Dang just found you thread, ok your image confirms no external flash. For peoples info that QFN unpopulated in not flash. It’s not the right pinout. Too many infact, also the M8030 has 2Mb internal storage that’s more than enough for most GPS usage as as been stated.

I personally am not expecting any issues with the module it’s self and tbh I’m leaning on interfearance. We are seeing similar issues with HDZero wiping out the GPS too. While everything is speculation the module overall looks fine. What is really possible it’s it’s a packaging issue in the drone. A wire in the wrong place or clock signal from one of the CPUs. Silly mistakes do happen.

I hope everyone is well.
Maybe the new motherboard location in the Mavic 3 is blocking out the GPS signal or causing interference that is worse in some locations. The Motherboard is above the GPS board on the Mavic 3 but not on the Mavic 2.
 
Maybe the new motherboard location in the Mavic 3 is blocking out the GPS signal or causing interference that is worse in some locations. The Motherboard is above the GPS board on the Mavic 3 but not on the Mavic 2.

I wasn't aware the GNSS board sits under the mainboard. If it's a new layout, it could be a factor. As a couple people have said GNSS is incredibly sensitive to EMI/RF. However, I would expect more consistently poor results if this was the case. As it is, not only are the experiences varied between different users, it also varied for the same users.
 
I wasn't aware the GNSS board sits under the mainboard. If it's a new layout, it could be a factor. As a couple people have said GNSS is incredibly sensitive to EMI/RF. However, I would expect more consistently poor results if this was the case. As it is, not only are the experiences varied between different users, it also varied for the same users.
I doubt that is the case because it would not explain how the drone performs super fast on the 0300 firmware which I have personally downgraded my drone to and tested. With each iteration of firmware after that namely 0400, 0500, 0600, the GPS lock times have only gotten worse. If the location of the GPS receiver was the issue from the start this drone would have been suffering long gps wait times since the initial firmware which is 0100 of which it was not.
 
  • Like
Reactions: oztx
I wasn't aware the GNSS board sits under the mainboard. If it's a new layout, it could be a factor. As a couple people have said GNSS is incredibly sensitive to EMI/RF. However, I would expect more consistently poor results if this was the case. As it is, not only are the experiences varied between different users, it also varied for the same users.
I doubt that EMI interference is affecting the GNSS module. The uBlock chip and the ADS-B chip are shielded with a metal case. Earlier models have the chip on the bottom of the GNSS board and do not have this problem.
 
I doubt that EMI interference is affecting the GNSS module. The uBlock chip and the ADS-B chip are shielded with a metal case. Earlier models have the chip on the bottom of the GNSS board and do not have this problem.
I'm not sure that's true. I recently encountered a uBlox issue on a somewhat complex custom aircraft where the chip lost all locked satellites when a set of motors on a different sub-component was powered up. It was clearly EMI, which can be via the antenna rather than directly into the shielded chip.
 
  • Like
Reactions: ianwood
I don't think EMI can be ruled out. It would just be a weird cause considering the variety of results. I also think EMI wouldn't just impact boot up but the entire flight. The variety of results suggest it is an intermittent issue where certain conditions bring it out.

Putting my speculation hat on, I think this is related to changes DJI has already told us about. The most interesting being the Beidou constellation and new positioning algorithms. Maybe the new algorithms are filtering out low quality SVs (low azimuth, high SNR, etc.) to get a more accurate fix which means it can take longer even if there are more than enough visible SVs. That would likely have to happen on the uBlox chip. Pure speculation.

Maybe someone who knows their way around the uBlox API and docs better than me can identify different ways to filter/refine the positioning output. I know there are a bunch of more advanced methods than simply streaming NMEA sentences.
 
Last edited:
  • Like
Reactions: mcde and sar104
I don't think EMI can be ruled out. It would just be a weird cause considering the variety of results. I also think EMI wouldn't just impact boot up but the entire flight. The variety of results suggest it is an intermittent issue where certain conditions bring it out.

Putting my speculation hat on, I think this is related to changes DJI has already told us about. The most interesting being the Beidou constellation and new positioning algorithms. Maybe the new algorithms are filtering out low quality SVs (low azimuth, high SNR, etc.) to get a more accurate fix which means it can take longer even if there are more than enough visible SVs. That would likely have to happen on the uBlox chip. Pure speculation.

Maybe someone who knows their way around the uBlox API and docs better than me can identify different ways to filter/refine the positioning output. I know there are a bunch of more advanced methods than simply streaming NMEA sentences.
In regards to your “speculation hat”:

There was never a problem with stability/accuracy etc that needed fixing. And there's no point in a "fix" for a problem that no-one ever had, that means the drone takes 5 minutes to start when every other drone DJI made does it in a minute or so.

And remember what DJI's M3 press release said:
Mavic 3 comes with a powerful positioning algorithm that improves hovering precision with signals from GPS, GLONASS, and BeiDou satellites. This enables Mavic 3 to lock onto multiple satellite signals faster than ever.

What you've suggested cannot be true.
 
Last edited:
Maybe someone who knows their way around the uBlox API and docs better than me can identify different ways to filter/refine the positioning output. I know there are a bunch of more advanced methods than simply streaming NMEA sentences.
Take a look at the UBX-NAV-PVT message, that is one alternative. This is their "Navigation position velocity time solution" with all the information about the current latitude, longitude, altitude, etc. along with information about the fix itself, such as number of sats in the solution, PDOP, the fixType (no fix, 2D fix, 3D fix, etc.) and, to your point above about refining, the gnssFixOK flag which says if the fix is actually valid within the defined parameters, which are set via UBX-CFG-NAV5. These parameters include PDOP mask, position accuracy mask, min number of sats to attempt a fix, C/NO threshold for using a sat, minimum elevation for a sat to be used in the solution, etc. I'd love to be able to see what DJI set these to; my guess is the "home point has been updated" action comes when the gnssFixOK flag is true in the UBX-NAV-PVT message.
 
  • Like
Reactions: mcde and ianwood
There was never a problem with stability/accuracy etc that needed fixing. And there's no point in a "fix" for a problem that no-one ever had, that means the drone takes 5 minutes to start when every other drone DJI made does it in a minute or so.
How do you know this? I distinctly remember several posts on a couple of forums, after the November launch of the M3, of M3s taking off after the "home point has been updated" and then drifting significantly without user input. The cause of that could be many things, but one *potential* could clearly be a GNSS fix that wasn't accurate enough when accepted, causing the drift when the GNSS fix got more accurate. The .0400 firmware in December claimed "Improved RTH performance", "Improved hover stability", each of which could be due to GNSS issues and the drifting reported by several users then.

You cannot state that there wasn't a problem with stability that needed fixing, unless you are privy to all of the information DJI engineers had. Just because it was fine for you, doesn't mean that was the case for everyone, and there is enough evidence to show there may have been one, post launch. There are many users currently NOT experiencing this lengthy GNSS initial fix. Would it be correct for them to say there is no problem to fix, right now? Because to them, there isn't one.

Over and over and over, you have to tell yourself the priority for a GNSS fix is NOT speed; it is NOT speed. If you only think it's speed, you will constantly think there is a problem, or not, based only on the speed of acquisition, and you will be misleading yourself. The priority for a GNSS fix is ACCURACY first, a level of accuracy that is appropriate for your use case, and THEN, the speed at which you obtain that accuracy. Slow and right beats fast and wrong every time, for these drones.
 
Last edited:
You cannot state that there wasn't a problem with stability that needed fixing, unless you are privy to all of the information DJI engineers had.

The priority for a GNSS fix is ACCURACY first, a level of accuracy that is appropriate for your use case, and THEN, the speed at which you obtain that accuracy. Slow and right beats fast and wrong every time, for these drones.
DJI has made a few million drones that never had a problem with GPS accuracy or stability.
The world has been using consumer GPS for >20 years without an accuracy/stability problem.
This isn't "rocket science".
Why would there be an accuracy or stability issue now that's so hard to solve?
 
Take a look at the UBX-NAV-PVT message, that is one alternative. This is their "Navigation position velocity time solution" with all the information about the current latitude, longitude, altitude, etc. along with information about the fix itself, such as number of sats in the solution, PDOP, the fixType (no fix, 2D fix, 3D fix, etc.) and, to your point above about refining, the gnssFixOK flag which says if the fix is actually valid within the defined parameters, which are set via UBX-CFG-NAV5. These parameters include PDOP mask, position accuracy mask, min number of sats to attempt a fix, C/NO threshold for using a sat, minimum elevation for a sat to be used in the solution, etc. I'd love to be able to see what DJI set these to; my guess is the "home point has been updated" action comes when the gnssFixOK flag is true in the UBX-NAV-PVT message.

That sounds about right. Position Accuracy Mask and Elevation Mask seem relevant. There are a lot of white papers about lowering DOP by filtering low elevation SVs amongst other methods.

DJI has made a few million drones that never had a problem with GPS accuracy or stability.
The world has been using consumer GPS for >20 years without an accuracy/stability problem.
This isn't "rocket science".
Why would there be an accuracy or stability issue now that's so hard to solve?

According to the specs, Mavic 3 improves hovering accuracy. DJI boasts that it is the result of a new "powerful positioning algorithm" for "more precise hovering" using Beidou, Galileo and GPS. Could just be marketing fluff but my guess is they have changed how they implement and fuse GNSS. One possibility is filtering SVs as mentioned above.
 
According to the specs, Mavic 3 improves hovering accuracy. DJI boasts that it is the result of a new "powerful positioning algorithm" for "more precise hovering" using Beidou, Galileo and GPS. Could just be marketing fluff but my guess is they have changed how they implement and fuse GNSS. One possibility is filtering SVs as mentioned above.
What they've done or might have done, doesn't answer my query ... why have the done it?
What needed improving so much that they have degraded performance this badly?
 
What they've done or might have done, doesn't answer my query ... why have the done it?
What needed improving so much that they have degraded performance this badly?

Why improve any of it? One thing DJI typically does really well is refining the subsystems on their drones generation after generation. I wish other drone companies innovated as much as DJI does. Remember Lightbridge? Seems downright ancient compared to the new Occusync.

I doubt they anticipated a big issue with time-to-home-point when they decided to revamp their algorithms. Issues aside, I am grateful they innovate like they do. The Mavic 3 flies so impressively well. There is a confidence with it I wish I had on other platforms.

[SPECULATION MODE=ON]
My guess is whatever they've created for the Mavic 3 has some gotchas that don't have simple fixes. And maybe in fixing some of the handling issues from the earliest firmware they've had to pinch something else and now that needs fixing.

The launch firmware seemed like it was "seeing things" via the vision sensors and reacting in unpredictable ways. Maybe they "turned down" the vision sensors for stability and thus needed to increase precision on GPS to compensate. The idea of filtering SVs to improve DOP as part of the overall stability improvement seems logical.
 
DJI has made a few million drones that never had a problem with GPS accuracy or stability.
The world has been using consumer GPS for >20 years without an accuracy/stability problem.
This isn't "rocket science".
Why would there be an accuracy or stability issue now that's so hard to solve?
So if a manufacturer has ever made something in the past that works, everything in the future will work too, no matter how they change it? Did the millions of phones Apple successfully manufactured before the iPhone 4 mean that Antennagate now didn't happen, by your logic? Car companies that have manufactured millions of cars will never have to issue a recall in the future, due to the past issue-free manufacturing? Past performance is not a guarantee of future performance. It's indicative, yes, but not a guarantee, at all. DJI made a brand new drone with a GNSS daughter board in a brand new internal signal environment, with a brand new algorithm for determining GNSS location, that is different from the millions they have made before, and there is CLEARLY an issue that hasn't been solved, so I'm not quite sure what your point is, other than I know you like to post just to be contrary for the sake of it.
 
I'm not quite sure what your point is, other than I know you like to post just to be contrary for the sake of it.
I'm not sure why you can't see my point.
There was speculation that DJI might have changed things to make the Mavic GNSS "more accurate".
I couldn't see why:
  • That would be necessary
  • Why that couldn't easily be reversed if it's just an algorithm in firmware
  • Why if DJI advertised that the Mavic 3 would lock onto multiple satellite signals faster than ever, that they would choose to keep that (unnecessary) algorithm, when it means keeping unacceptable TTFF performance.
I also can't see why you think that is a case of posting just to be contrary for the sake of it.
 
  • Like
Reactions: Skywatcher2001
Why improve any of it? One thing DJI typically does really well is refining the subsystems on their drones generation after generation. I wish other drone companies innovated as much as DJI does. Remember Lightbridge? Seems downright ancient compared to the new Occusync.

I doubt they anticipated a big issue with time-to-home-point when they decided to revamp their algorithms. Issues aside, I am grateful they innovate like they do. The Mavic 3 flies so impressively well. There is a confidence with it I wish I had on other platforms.

[SPECULATION MODE=ON]
My guess is whatever they've created for the Mavic 3 has some gotchas that don't have simple fixes. And maybe in fixing some of the handling issues from the earliest firmware they've had to pinch something else and now that needs fixing.

The launch firmware seemed like it was "seeing things" via the vision sensors and reacting in unpredictable ways. Maybe they "turned down" the vision sensors for stability and thus needed to increase precision on GPS to compensate. The idea of filtering SVs to improve DOP as part of the overall stability improvement seems logical.
This is the only speculation that seems logical. Changes to the algorithm and/or signal health requirements is the most plausible explanation. Not reversing to the previous "version" (the pre-December one) suggests they had good reason to keep it and this is corroborated by the fact that this issue is not affecting all users, i.e. it seems to be related to region.
 
  • Like
Reactions: Skywatcher2001
This seems logical. Changes to the algorithm and/or signal health requirements is the most plausible explanation.
And if that was what caused the signal acquisition to be so bad, why haven't they simply changed that back to what it was somewhere in the last three months?
An improvement that makes things worse isn't an improvement.
It just doesn't make sense that DJI would leave their flagship consumer drone in limbo for so long, because the hypothetical additional accuracy is that important.
 
Last edited:
Lycus Tech Mavic Air 3 Case

DJI Drone Deals

New Threads

Members online

Forum statistics

Threads
131,347
Messages
1,562,272
Members
160,287
Latest member
charliesunique