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

Mavic 3 GNSS chip identified

beermat

Well-Known Member
Joined
Dec 8, 2021
Messages
50
Reactions
78
Location
Chicago
Popped the cover off the GNSS chip on a Mavic 3 GPS replacement module, and revealed it's a uBlox M8030-KA chip:

M3_GNSS.jpgM3_GNSS_CloseUp.jpg

Previous hardware teardowns exposing chips have shown a slightly different variant of this chip - M8030-KT - in use for at least the Mavic Pro, Mavic 2 Pro, Mavic Mini, Mavic Air, Mavic Air 2 and Mavic Air 2S.

On the uBlox site, it indicates the KA is a higher grade than the KT variant, but the product summary only highlights the KA has a higher operating temperature than the KT. Couldn't see anything else in the summary.

Anyhoo, under the hood it's the same tried and tested uBlox M8 engine, with the same programming API, that DJI have utilized for several years now.
 
Yes, chips are often available in alternate temperature ranges, etc.

1645139720982.png
1645139954483.png

Because of the ongoing supply chain issues, suppliers often substitute these variants to make use of all available inventory. I'm dealing with supply chain issues that are pushing the availability of some parts out to 2023... :(
 
Last edited:
Well done. And as I suspected. As far as the GNSS issues we've been experiencing, we can now rule out a different supplier or grade of GNSS chip as a potential cause. This one should perform pretty much exactly as the one in the Air 2 and Air 2S. Any performance differences from the end-user perspective can now be attributed elsewhere, most likely firmware or config.
 
Popped the cover off the GNSS chip on a Mavic 3 GPS replacement module, and revealed it's a uBlox M8030-KA chip:

View attachment 144040View attachment 144041

Previous hardware teardowns exposing chips have shown a slightly different variant of this chip - M8030-KT - in use for at least the Mavic Pro, Mavic 2 Pro, Mavic Mini, Mavic Air, Mavic Air 2 and Mavic Air 2S.

On the uBlox site, it indicates the KA is a higher grade than the KT variant, but the product summary only highlights the KA has a higher operating temperature than the KT. Couldn't see anything else in the summary.

Anyhoo, under the hood it's the same tried and tested uBlox M8 engine, with the same programming API, that DJI have utilized for several years now.
Is the PWB (Printed Wiring Board) the same?
The IC Module is only one part of a "functionally reliable" assembly. The PWB design is a lot more complicated than it was when I started out as an Engineer 40 years ago... :)
 
Last edited:
Is the PWB (Printed Wiring Board) the same?
The IC Module is only one part of a "functionally reliable" assembly. The PWB design is a lot more complicated than it was when I started out as an Engineer 40 years ago... :)
Let me get my tape measure out, measure the traces :)

But no, at a high level viewing, the layout of the SMD components around the chip is different. There's always a possibility that could be an issue, obviously, but that would be super low on my list.....this was more to help understand at a higher level the capabilities of the M3 GNSS hardware with respect to previous DJI drones.

And yes, the complexity of the PCB designs has increased, visible even looking back at the historical implementations of this daughterboard and chipset from the P4Pro onwards!
 
Any performance differences from the end-user perspective can now be attributed elsewhere, most likely firmware or config.
On that topic, any thoughts on how to establish which pins are VCC, GND, TX and RX? :) The documentation for this package requires contacting uBlox and a confidentiality agreement and scouring the intertubes hasn't revealed anything.
 
On that topic, any thoughts on how to establish which pins are VCC, GND, TX and RX? :) The documentation for this package requires contacting uBlox and a confidentiality agreement and scouring the intertubes hasn't revealed anything.

You probably need to probe out the pins. I've done it on the Inspire 2 GPS module but that was a long while ago and can't for the life of me remember which pins were what. I'd bet DJI uses both TX and RX to configure the module and or set modes, etc.

If you have a scope, you can probably figure out which one is which for the data lines.
 
You probably need to probe out the pins. I've done it on the Inspire 2 GPS module but that was a long while ago and can't for the life of me remember which pins were what. I'd bet DJI uses both TX and RX to configure the module and or set modes, etc.

If you have a scope, you can probably figure out which one is which for the data lines.
The M3 GPS module has 31 visible unmarked pads on the PCB vs 10 on the Inspire 2 GPS module, and I don't have a working scope any more, so that's a lot of combinations of tiny pads to pins to check continuity and still not obvious which is which, without a scope. It was much more helpful when they labelled the pads :) On that note though, the original Mavic Air uses the same uBlox chip but helpfully has PCB pads with markings for VCC, RX, TX, SCL and SCA, and I can get one for $8 from eBay, which'll make it simple to identify which pins on the chip are which and apply that back to the M3 board. Plus it'll give me a cheap option to practice on first :)
 
You probably need to probe out the pins. I've done it on the Inspire 2 GPS module but that was a long while ago and can't for the life of me remember which pins were what. I'd bet DJI uses both TX and RX to configure the module and or set modes, etc.
Ok, got my $8 Mavic Air GPS module, and interfaced successfully to the labelled RX/TX pins. Now to trace those pads to the chip pins, and then apply that back to the Mavic 3 GPS module......and not for nothing, it's a cheap way to get a working uBlox chip and antenna in a nice compact package, for other projects!

For curiosity, I configured the Mavic Air board via u-center to use GPS, Galileo and BeiDou (DJI spec is GPS + GLONASS, which is the default for the chip, too) and the antenna/chip had no issues. So, with a firmware update, DJI could bring all the joy of the Mavic 3 GNSS system to prior models, should they choose :)
 
M3GNSS_UART.jpg
Alright, for anyone who wants to play along at home, these are the pads to be able to connect to the Mavic 3 uBlox GNSS chip UART, @9600 baud. I couldn't solder to the 3.3v Vin pad, too crowded and at about 0.5mm diameter, beyond my hand soldering skills. The giant 1mm RX/TX pads were fine :) I held a tiny probe to it to supply power.

Anyway, connection was achieved and the chip outputs on UART, and you can inspect configuration, messages, etc. with u-center or programmatically. It was a long shot, but it has the standard uBlox defaults in the battery backed RAM - the Mavic 3 firmware will set them on boot I'd assume, so I'd need to dismantle my M3 and swap in this board to see what's going on. That's for another day, not ready for that step yet!
 
Last edited:
Now this is curious - there appears to be a chip "missing" from this replacement GPS board:

M3.jpg

I checked the picture taken when I received this board; it isn't there then, so I didn't shear it off myself during testing. I checked whatever pictures I could find online at stores selling replacement boards; they all do not appear to have a chip placed there, either. There is a similar chip with supporting components on some of the previous generation DJI drones GPS boards that, at least visually, appear to be the same and have the same traces to the SMD caps and resistors. Here is the Mavic Air 2:

M2A.jpg

There is continuity between at least one of the pins to the +VE output of the onboard backup battery, so it seems this chip is intended to retain power when the main battery is removed.

It is tempting to leap to all kinds of assumptions here, but I won't - it could be intentionally not present. Any internet sleuths able to identify what the chip is, from markings present on it on other boards? I've drawn a blank in my brief search.

Later, I will conduct some testing with this board with settings and configuration that rely on battery backed RAM and see how it fares.....
 
Last edited:
  • Like
Reactions: Cosmo0g
Excellent research. Is it possible that this chip is a small memory for storage of the almanac? If this is true, it is a major hardware failure and cannot be fixed by software. It is very curious 🧐 It is necessary to know what function this chip has and that is a difficult challenge.
 
Excellent research. Is it possible that this chip is a small memory for storage of the almanac? If this is true, it is a major hardware failure and cannot be fixed by software. It is very curious 🧐 It is necessary to know what function this chip has and that is a difficult challenge.
This is possibly hardware "failure", possibly not, could be intentional. I find its absence mostly curious right now, as opposed to something unintentional, widespread or issue-causing. Would need to know what was there.

If it's a flash memory chip for instance (something the uBlox M8 can leverage for several things), you can still work around the absence of that through software. Flash memory can be used by the uBlox M8 as a redundant storage of settings and orbit data in addition to, or instead of, battery backed RAM (BBR), but the Mavic 3 board has a battery for this purpose and, with a quick test, it does at least retain settings in the BBR through a power cycle. I will test orbit data later in BBR for my own curiosity, but we know that the Mavic 3 does a GNSS "hot start" on changing batteries, so that isn't an issue. Flash can also be an additional source for the uBlox firmware, as well as what is in ROM on the chip itself, but the uBlox chip in the Mavic 3 has the latest firmware in ROM, so that isn't necessary, and it rarely has been updated anyway. It can also be a storage area of their offline A-GNSS data but, if the flash doesn't exist, you can still store this elsewhere and send it to the chip on startup; but there is no real-world measurable evidence that any DJI drone is using any form of A-GNSS. The uBlox M8 can log data to flash, too. Sooo, *if* it was a flash memory chip, and it was impacted by the worldwide shortage of flash chips, it's really a "nice to have" function rather than essential function, so could be left off the board. Older DJI drones (Mavic Air at least) do not appear have this chip.
 
Last edited:
  • Like
Reactions: Cosmo0g and oztx
I do recall when I did similar testing with the Inspire 2 uBlox chip that the configuration is basically forced by the flight controller. For example, if I swapped a constellation using the ublox software and then put the GPS module back into the Inspire, the Inspire changed the settings back to its own when booting.
 
There is an interesting note on the official DJI Forum. Someone reached out to uBlox who said they are working with DJI to fix the problem. They indicated that the December update introduced "interference" that is affecting the ability to get satellite lock and that a fix would come within the month.

It is possible that Ocusync is interfering with the Mavic 3's incoming GNSS signals.
 
Very interesting...
 
There is an interesting note on the official DJI Forum. Someone reached out to uBlox who said they are working with DJI to fix the problem. They indicated that the December update introduced "interference" that is affecting the ability to get satellite lock and that a fix would come within the month.

It is possible that Ocusync is interfering with the Mavic 3's incoming GNSS signals.

Was it someone with actual useful contacts at uBlox or just a uBlox tech support?

Link? Can't find it on DJI forum.
 
Was it someone with actual useful contacts at uBlox or just a uBlox tech support?

Link? Can't find it on DJI forum.
Here you go
 
Lycus Tech Mavic Air 3 Case

DJI Drone Deals

New Threads

Forum statistics

Threads
130,929
Messages
1,557,969
Members
159,933
Latest member
lboogie007