Navio 2 + RTKLib? Yes, it's possible. But tricky

Unfortunately, Emlid have a poor support for the things other, then drone applications (i wonder - are they don’t need other clients?).
So, let me close this gap.

Yes, i now have Navio2 working with RTKlib, but it cost me more.

First, some story. I use Navio+Pi combo for some industrial high-precision system, i don’t need real-time, just store the data for precise post-processing - what’s why real-time boards only make me pain to change the process.
It works well with Navio1, but… Navio2 lost all by cheap economy. I have no time to rebuild my systems from scratch, so was forced to make Navio2 working as well.

So, simple points how to make Navio2 working with rtklib:

  1. Order (some) U-blox Neo-M8T chips.
  2. Remove old useless M8N from Navio2 board.
  3. Assemble M8T chip instead - it’s fully compatible by legs and firmware.
  4. Make a merge of latest rtklib code (from master branch) and latest rtklib code from spi branch (actually, you need rtklib 2.4.2p10 or later to support M8-series RAWX messages, and SPI support as well). I wonder why emlid drop SPI support from the latest RTKlib… A mistery.
  5. Build rktlib on you Pi.
  6. use .cmd file with the contents listed below. It will use GPS, Glonass and QZSS at one time (Beidou is not so good here, but you can change it for this as well).
  7. Enjoy.

Emlid, why you just don’t sell something like Navio2 Pro with M8T chip, instead of this dances with hardware?

Here is the .cmd file content:
`!UBX CFG-PRT 4 0 0 12800 0 1 1 0 0
!UBX CFG-GNSS 0 32 32 1 3 1 1 0 0
!UBX CFG-GNSS 0 32 32 1 6 8 22 0 1
!UBX CFG-MSG 2 19 0 0 0 0 1 0
!UBX CFG-MSG 2 21 0 0 0 0 1 0
!UBX CFG-RATE 200 1 1

!UBX CFG-MSG 2 19 0 0 0 0 0 0
!UBX CFG-MSG 2 21 0 0 0 0 0 0
!UBX CFG-PRT 4 0 0 12800 0 3 3 0 0
!UBX CFG-RATE 1000 1 1


So I assume that the SPI “addon” from EMLID’s RTKLIB 2.4.2 is still fully compatible with RTKLIB 2.4.3 (or newer), right?

I do not use 2.4.3 for some reason, but use 2.4.2p11 instead.
But, i think there are no significant changes in interface there, so you can try to apply it to 2.4.3 as well.

I’m new to Navio2

could you please tell me where did you order the Neo-M8T Chips?
Can you explain how to merge the braches, or is there a fork?

Kind regards

Cool stuff. It would be nice to get more details. What kind of measurements do you do? Photos? Is it difficult to remove the M8N-Chip? Wouldn’t it be easier to put a Reach at the Navio2 instead of “upgrading” the Navio2 (of course it’s more expensive)?
I think the M8N is cheaper than the M8T and not every pilot needs the higher precision (and is happy that he not has to pay a feature that he doesn’t need). That might be the reason why Emlid used the M8N for Navio2.
There are some blogs-posts using rtklib with M8N. Did you try this out before you switched the receiver?

  1. I’m order some M8T from u-blox website. FYI: Better order 10, if you need more, then 5 - cheaper.
  2. There are 2 branch of RTKLIB at emlid’s github - one is 2.4.11, one is 2.4.8 with SPI support. So you need add SPI support from second one to first one, modifying and adding some files, then compile. Not so hard, in fact.

I use this for some advanced spatial picture/video processing.
No, it’s not difficult to replace the chip, any guys who repair smartphones can do it.
No, it was no substitute to change Navio to something else - it will require complete system rebuild from scratch.

It’s OK, but why emlid do not sell navio2 with M8T for higher price for guys who need it? There is no changes in board, except the chip!
M8N can work with RTKLIB with outdated firmware and with limited possibilities. I check it, of course, crap, in fact.

Hi again,

first of all thank you for your rapid answer.
One more quesrtion:
Where do those Settings go
Here is the .cmd file content:
`!UBX CFG-PRT 4 0 0 12800 0 1 1 0 0
!UBX CFG-GNSS 0 32 32 1 3 1 1 0 0

Kind regards

Read RTKLIB manual.

Ok compiled rtkrcv, str2str, convbin from Regelink/RTKLIB branch spi.
Seems to be fine
Created RTKLIB/data/ubx_spi_m8t_glo_raw_5hz.cmd (hope this is correct)
with your settings
Waiting for Neo-M8T to arrive
Is there a way to test with Neo-m8n, maybe downgrade to 2.01?
What about a Neo-M8P

Did you try to remove the M8N from the board? Is it just plugged in?

It is soldered, you have to desolder it and replace it with the Neo-M8t. Ich have not desoldered it yet, because i’m waiting for my Neo-M8T.
By the way:
How did you solve the transmission of the correction data from base to rover?

Do you order directly from ublox? I noticed, the prices there are even higher than for ready gps modules on pcb @ ebay…

Not so. You need RTKLIB 2.4.11+ to support M8 series chip.

I don’t use RT transmission, postprocessing only. But any 3G-4G modem and Hamichi/other virtual network should work well.

In your first Post it is 2.4.2p11 and the repo i used seems to be 2.4.2p11 in spi branch.

Where to download rtklib with spi?

Well… 2 years passed…

Unfortunately, i don’t put my rtk fork at public. Let me check my archives, i share it for you if i found it. But i think it’s a bit outdated now…