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

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

Watched the one teardown video that I am aware of again and this caption had me curious...

1643786325800.png

...but if you look really closely, they are antennas for ADS-B, not GPS. What isn't clear is how they are connected. They appear to sit right over the GPS board.
 
  • Like
Reactions: Cosmo0g and beermat
The GPS daughter board appears to have two raised contacts in the same layout/location. Roughly looks like they would connect?

edit.jpg
 
  • Like
Reactions: ianwood
What is the significance? Could that be the problem?
I think that, like several of us are, @ianwood is just trying to understand the GNSS system and the components that impact or influence it's performance, or could potentially impact or influence that, in both hardware and software. This knowledge could then drive testing out certain things, not just the obvious ones, leading to potentially figuring out a workaround (like "ascend 20 feet"), because DJI remain silent on everything to do with this. The proximity of other radio signals to the GNSS antenna *could* impact it's performance, sure; unlikely to be the issue, but possible.
 
The GPS daughter board appears to have two raised contacts in the same layout/location. Roughly looks like they would connect?

View attachment 143167

Well, clearly... your picture is a lot better than mine! 😁 I can't find that image online. Are there more like it of the M3? The underside of the GPS board is covered by a metal shield so not holding much hope for further detail until someone really goes to town but if there is evidence of UART contact pins, it might be worth going in.

Ian is very good at this stuff, he spearheaded diagnosis of the now famous toilet bowl effect and dji listened.

I just got you all you all the complain loudly! Hopefully this doesn't require such efforts!
 
Or buy one instead of opening your aircraft!
4807D5CB-798B-47D7-9390-4F80FAA8FFA1.png

Hahaha, for a hot and crazy minute, I did contemplate if I could open one up and tap into the GNSS chip I/O with the rest of the system, be it SPI or I2C or UART, link to a microcontroller and log some meaningful low level info in the field :) I ain't touching mine either, but hopefully a "friend" can "find" one for me, per a different thread :)
 

Attachments

  • F7B7CFD6-969C-4D4B-AD0F-C1FC614C5A8A.png
    F7B7CFD6-969C-4D4B-AD0F-C1FC614C5A8A.png
    32.4 KB · Views: 18
  • 07A7AE6E-0096-4F5D-AB63-359D0230A5B0.jpeg
    07A7AE6E-0096-4F5D-AB63-359D0230A5B0.jpeg
    920.4 KB · Views: 15
  • 0661535B-E9F6-4456-862B-084F0D2FACEF.jpeg
    0661535B-E9F6-4456-862B-084F0D2FACEF.jpeg
    868 KB · Views: 15
  • E9ECF9BC-2140-45F7-A7B0-130BD8E001D6.jpeg
    E9ECF9BC-2140-45F7-A7B0-130BD8E001D6.jpeg
    868.6 KB · Views: 14
  • 3F0E5737-6C9D-45D0-ACFE-2187EE4FFFF2.jpeg
    3F0E5737-6C9D-45D0-ACFE-2187EE4FFFF2.jpeg
    871.2 KB · Views: 14
  • 64A81367-531E-41D7-A5B5-24ACFAD7C1D8.jpeg
    64A81367-531E-41D7-A5B5-24ACFAD7C1D8.jpeg
    2 MB · Views: 15
  • 2E0E32BA-1ECD-408F-A9C4-71234D62E65C.jpeg
    2E0E32BA-1ECD-408F-A9C4-71234D62E65C.jpeg
    175.4 KB · Views: 20
Or buy one instead of opening your aircraft!
View attachment 143260
Hahaha, yeah :) The problem is, that chipset is configurable for a number of key parameters, initialization data, etc. and what DJI use for that is unknown, so we would be unable to recreate what is going on, to understand it better, with just the module. Additionally, it's performance "in situ", amongst all the other signals flying around inside the Mavic 3 (ADB, Occusync, etc, as well as potential signal interference from the different internal data buses running past and around it) could be the issue, so having the module separate from that wouldn't give the same results, either. Sort of like being told your kid misbehaves at school with all the other kids, so you observe them at home alone in their bedroom to see what their bad behavior is....

I've decided to take another approach to this which is somewhat alien to me and probably won't work - and that is, give up and wait to see what DJI says and does :)
 
While we're waiting for more news... Here's a debate we can solve:

It IS NOT based only on the number of satellites.
There's a tendency to think that GPS Health simply depends on the number of satellites, but it doesn't.
For good location data, the receiver needs a suitable number of sats and a suitable spread of sats in different parts of the sky.

It IS based only on the number of satellites.
It's based on number of satellites locked, not any of the DOP calculations.

So... Who's right? Evidence preferred over opinion. It ought to be verifiable using log data.
 
  • Like
Reactions: GadgetGuy
In other news, it looks like the RC Pro is still using GLONASS and not Beidou.

Screenshot_20220203-161302.png
Screenshot_20220203-161312.png

Ignore the TTFF as I opened it up indoors and then took it outside. It was pretty quick once outside and probably used A-GPS. Looking for Android apps that provide detailed information about A-GPS use.
 
While we're waiting for more news... Here's a debate we can solve:

It IS NOT based only on the number of satellites.


It IS based only on the number of satellites.


So... Who's right? Evidence preferred over opinion. It ought to be verifiable using log data.
It needs further clarification. @Meta4 is quite correct that the accuracy of a GNSS solution depends on both number of satellites and their distribution in the sky. A dilution of precision estimate for just the satellites currently locked is a reasonable way to estimate that accuracy but that's not what the DJI GPS health value represents. GPS health is calculated from the correlation between the GPS and the IMU solutions for position. In other words it is more a measure of confidence in the fusion position solution than a measure of GPS accuracy.

In terms of separating opinion from evidence, I can say for certain that GPS health has never been a DOP calculation - it has always been a position confidence value. For example can be zero with 20 satellites locked and a perfectly good GNSS solution if the IMU position solution diverges from the GNSS solution.
 
In other news, it looks like the RC Pro is still using GLONASS and not Beidou.

View attachment 143332
View attachment 143331

Ignore the TTFF as I opened it up indoors and then took it outside. It was pretty quick once outside and probably used A-GPS. Looking for Android apps that provide detailed information about A-GPS use.
That looks like GPSTest....If you hit the "share" function and choose "device" on that popup, it'll upload some inner details on the RC Pro device capabilities. If you whizz on over immediately to the linked spreadsheet, the last row in there should be yours, if you're interested.

Also, as an aside, I went down a whole rabbit hole with this - my S21 didn't show BeiDou, despite a spec sheet that said it could. In researching why, I stumbled upon a blog by the GPSTest author who detailed a story of a user travelling from Europe to the USA, monitoring GPSTest, and suddenly seeing all the Galileo satellites disappear from the list once over the USA. Long story short, it's actually illegal in the US to receive foreign GNSS signals without a license! It appears that receiver manufacturers generally hadn't applied for the Galileo licenses. There is a waiver process for this for the GNSS, and the EU applied and ultimately got a waiver from requiring receivers to be licensed to use Galileo. On the FCC website for waivers, there is only the EU waiver; nothing for GLONASS (guessing because it pre-dated the ruling) and nothing for BeiDou. Part of me wonders if the lack of BeiDou is a chipset limitation or a license limitation.
 
Last edited:
Glad I found this thread! I had 2 problems in the last 3 days, the biggest being the GPS issue. I’d like to start a record board to see who’s Mavic 3 takes the longest! 😁

DJI Mavic 3 - GPS and Obstacle Avoidance Issues
Well I beat you. Mine took 6 minutes and 53 seconds to acquire homepoint
 
I still think some with knowledge should check out if the agps data is transfered correctly.
There is a status message that returns the agps data from the drone.
DataFlycGetPushAgpsStatus, DataFlycSendAgpsData
Could also be nice to check that the gps har the correct time.

Does it take long for TTFF or is that fast?
If TTFF is fast, it's probably not an AGPS problem.

I don't have a mavic3 to try out, yet :)
 
  • Like
Reactions: mswlogo
That looks like GPSTest....If you hit the "share" function and choose "device" on that popup, it'll upload some inner details on the RC Pro device capabilities. If you whizz on over immediately to the linked spreadsheet, the last row in there should be yours, if you're interested.

Also, as an aside, I went down a whole rabbit hole with this - my S21 didn't show BeiDou, despite a spec sheet that said it could. In researching why, I stumbled upon a blog by the GPSTest author who detailed a story of a user travelling from Europe to the USA, monitoring GPSTest, and suddenly seeing all the Galileo satellites disappear from the list once over the USA. Long story short, it's actually illegal in the US to receive foreign GNSS signals without a license! It appears that receiver manufacturers generally hadn't applied for the Galileo licenses. There is a waiver process for this for the GNSS, and the EU applied and ultimately got a waiver from requiring receivers to be licensed to use Galileo. On the FCC website for waivers, there is only the EU waiver; nothing for GLONASS (guessing because it pre-dated the ruling) and nothing for BeiDou. Part of me wonders if the lack of BeiDou is a chipset limitation or a license limitation.


All other global navigation satellite systems — GPS, GLONASS (Russia) and Galileo (EU) — mainly act as beacons, beaming out signals picked up by billions of devices using them to determine their precise position on Earth.

BeiDou is a two-way communication system, allowing it to identify the locations of receivers. BeiDou-compatible devices can transmit data back to the satellites, even in text messages of up to 1,200 Chinese characters.

"In layman's terms, you can not only know where you are through BeiDou but also tell others where you are through the system," China's state broadcaster CCTV said last month.”
 
  • Like
Reactions: ianwood and mswlogo
M3 could be using the uBlox M8030-KT GNSS chip as it has in the Air 2 and Air 2S. It's a bit dated but still very much up to the task and there isn't any new functionality suggesting it has been upgraded.


While DJI has claimed greater positioning accuracy on the M3, there is nothing suggesting that additional accuracy is coming from increased GNSS resolution. My guess is that greater accuracy is coming from other sensors like vision and OA.

DJI has a pretty long history of carrying over chips from previous platforms e.g. P1/S1 SDR chips used for Ocusync 2 onwards.

There are similarities between the Air 2S and M3 GNSS daughterboards. While I accept it's not exactly a scientific assessment, the similarity is suggestive if nothing else.

Air 2S
air2s-gps-module-bottom.jpeg

air2-ublox-m8030.png

M3
m3-gps-bottom.jpeg
 
BeiDou is a two-way communication system, allowing it to identify the locations of receivers. BeiDou-compatible devices can transmit data back to the satellites, even in text messages of up to 1,200 Chinese characters.

It's an interesting capability and one with obvious security concerns but as I understand it, the vast majority of Beidou receivers are receive-only and cannot transmit. I am first to admit my limited understanding here, but I would have thought TX ability would require amplification circuits and a high gain antenna to get the signal all the way back into space.
 
  • Like
Reactions: mswlogo
I still think some with knowledge should check out if the agps data is transfered correctly.
There is a status message that returns the agps data from the drone.
DataFlycGetPushAgpsStatus, DataFlycSendAgpsData
Could also be nice to check that the gps har the correct time.

Are these status messages that appear in log files? If so, I can pull some from cold and warm starts to analyze.
 
Are these status messages that appear in log files? If so, I can pull some from cold and warm starts to analyze.
Good question. I don't think so, not sure though.
What would be intersting is how long time it takes for it reports at least 1sat from startup. That would give a clue.

It's quite hard to do if you havn't done it before. I have an app that can do it, however I don't dare to give it away until I tested it myself on mavic3. My FPV-drone went bananas when doing something similar, fixable though.
 
Lycus Tech Mavic Air 3 Case

DJI Drone Deals

New Threads

Members online

Forum statistics

Threads
131,301
Messages
1,561,816
Members
160,246
Latest member
SK farming