U-blox raw format

From OpenStreetMap Wiki
Jump to navigation Jump to search

UBX messages providing raw measurements

Message overview
Firmware RXM-RAW (0210) RXM-SFRB (0211) RXM-SFRBX (0213) RXM-RAWX (0215) TRK-TRKD5 (030a) TRK-MEAS (0310) TRK-SFRB (0302) TRK-SFRBX (030f) TRK-TRKD2 (0306)
msg size (6=head,N=tra,M=acq,2=csum) 6+8+N*24+2 6+2+40+2 <=6+4(8)+40+2 6+16+N*32+2 v0:6+72+N*56+M*16+2 v3:6+80+N*56+M*16+2 v6:6+80+N*64+M*20+2 v2:6+104+N*56+M*20+2 v3:6+104+N*56+M*20+2 v5:6+104+N*56+M*20+2 6+2+40+2 <=6+9+40+2 6+8+N*48+2
antaris4 ROM 5.00 R(L) R(L) - - - - X - X
antaris4 EXT 5.00 Apr 12 2006 12:35:45 INT EXT0 (RCV) HB 1.01 F(L) F(L) - - - - X - X
antaris4 EXT 5.00 May 07 2007 17:26:13 INT EXT0 (RCV) L4R1.1, INT EXT1 (RCV) EKF1.3 - - - - -
antaris4 EXT CORE 5.00 May 11 2006 14:40:17, INT EXT0 (RCV) M4T1.2 X X - - - - X - X
ublox5 ROM 4.00 c19958f361be6a8c05a17749c5b6c6c5 - - - - X(v0) - ? - -
ublox5 ROM 5.00 - - - - X(v0) - X - -
ublox5 EXT 6.02 F F - - X(v0) - X - -
ublox5 ROM 5.00 (LEA-5T) c0185466a0ee7368e838cd89718f5871 X X - - X(v0) - X - -
ublox6 ROM 6.02 f061cc78faa94469160facb1143f5ab3 R R - - X(v0) - X - -
ublox6 premium (LEA-6T,NEO-6P) ROM 6.02 X X - - X(v0) - X - -
ublox6 ROM 7.03 3cb51d8b464c8a0d889f597a9e8989cf R R - - X(v3) - X - -
ublox6 ROM 7.03 (45969) Mar 17 2011 16:18:34 (fake NEO-6V) R R - - X(v3) - X - -
ublox6 EXT 7.03 F F - - X(v3) - X - -
ublox6 EXT 7.03 DR 6R C0 2.00 - - - - X(v3) - X - -
ublox6 EXT 1.00 6bd417c8340b41af84cf0c5cdc39c6b5 F F X - X(v3) - - X -
ublox7 ROM 1.00 f6a8852a3266dc461d7496e08b9e4ad5 - - - - X(v6) - - X -
ublox7 EXT 1.00 3069adf7509988c309850afa09da1458 F F - - X(v6) - - X -
ublox7 EXT 1.01 42ec35ce38d201fd723f2c8b49b6a537 F F - - X(v6) - - X -
ublox7 EXT 1.01PPP b2e87ef6f3a5524e1ac95b7a9249d811 X X X - X(v6) - - X -
ubloxM8 ROM 0.22 (core bootloader) - - - - - - - - -
ubloxM8 EXT 2.00 - - - - - X(v2) - X -
ubloxM8 ROM 2.01 fb4a79ffb1c906123533f549706f3be3 - - - - - X(v2) - X -
ubloxM8 EXT 2.01 M8N 89cc4f1cd4312a0ac1b56c790f7c1622 - - - - - X(v2) - X -
ubloxM8 EXT 2.20 M8F a55d16589de7d60e104426c4cbab4534 - - - - - X(v3) - X -
ubloxM8 EXT 2.30 M8T c078522fadf80e5b68c01c34b863b555 - - X X - X(v3) - X -
ubloxM8 EXT 3.01 M8x 911f2b77b649eb90f4be14ce56717b49 - - X(T) X(T) - X(v5) - X(T) -
ubloxM8 EXT 3.01 M8T (TIM 1.10) 9a999e9cf84f0b3a0a7ed0146d20e5cc - - - - - - - - -
ubloxM8 EXT 3.01 M8U (UDR 1.00) 699d7302daf1c1680ec030781bc8307e - - - - - - - - -
ubloxM8 ROM 3.01 156b686b93ab030abad1d85ec43f690f - - - - - - - - -

Could we please have a key for the values R(L), F(L), F, R, X(v).

The raw data output can be activated by: R=RAM PATCH, F=CUSTOM FLASH, L=LICENSE KEY, X=AVAILABLE BY DEFAULT (v=VERSION)

Basic configuration

Enable UBX input and output on UART1 @ 115200 from NMEA mode:

$PUBX,41,1,0003,0003,115200,0*1C\r\n

UBX configuration messages:

CFG-PRT
CFG-RATE
CFG-MSG
CFG-ANT
CFG-SBAS
CFG-NAV2
CFG-NAV5
CFG-NAVX5
CFG-GNSS
CFG-EKF
CFG-GAL
CFG-BDS
CFG-OTP
MON-VER
MON-LLC

RTKLIB patches

The links not working! usm78-gis user remove all information from the forum at (2016-11-27 14:30:36). usm78-gis is patient. How to restore the infromation??? I would like to setup M8N GPS for RTK.

RTKLIB patch providing support for TRK-SFRB can be found here: http://forum.openstreetmap.org/viewtopic.php?pid=339782#p339782 together with

an example for the GLONASS navigation message decoder (from TRK-SFRBX message) http://forum.openstreetmap.org/viewtopic.php?pid=425915#p425915

TRK-MEAS support patch is very preliminary, untested, etc. Don't even think about using it for doing any serious measurements: http://forum.openstreetmap.org/viewtopic.php?pid=430637#p430637

Independent research is being done at https://twitter.com/HirakuTOIDA , so have fun and report your findings here.

TRK-TRKD5 patch which provides raw data output for ublox5/6/7 receivers can be found here: http://forum.openstreetmap.org/viewtopic.php?pid=431202#p431202

pyUblox github repository has RTCM2 generator and encoder, which is still missing in RTKLIB: https://github.com/tridge/pyUblox/blob/master/RTCMv2.py

Compiling and running rtkconv and rnx2rtkp with cegcc on WinCE (pthreads-wince is needed for rtkrcv) http://forum.openstreetmap.org/viewtopic.php?pid=316961#p316961

In the "worst-case" scenario (no native RXM-RAW+RXM-SFRB support) raw rinex data can be generated using the output from the following message combinations (depending on the chipset generation and firmware version): TRK-TRKD5+TRK-SFRB+NAV-CLOCK+NAV-TIMEGPS, TRK-TRKD5+TRK-SFRBX+NAV-CLOCK+NAV-TIMEGPS, TRK-MEAS+TRK-SFRBX+NAV-CLOCK+NAV-TIMEGPS. The TRK-* messages are usually enabled in U-center by choosing "Receiver->Debug messages" setting.

ANTARIS4

RAM patch (R)

To enable RXM-RAW and RXM-SFRB output on antaris4 the following CUSTOM UBX message can be used:


b5 62 09 01 09 00 14 6c 00 00 00 00 00 00 ff 92 f7

For the init CMD section use

!HEX b5 62 09 01 09 00 14 6c 00 00 00 00 00 00 ff 92 f7

Read http://lindi.iki.fi/lindi/tmp/finhack2010-rtklib-lindfors.pdf for details.

TRK-TRKD2+TRK-SFRB+NAV-CLOCK+NAV-TIMEGPS Parser

The pseudorange encoding method in TRK-TRKD2 is unknown. Use "RAM patch (R)" instead.

License key (L)

Ancient Conrad CR4 receiver featuring LEA-4H module (vendor=0x179a product=0x28b4) was RAW-capable with the following license:

$GPTXT,01,01,02,LIC 933B-D9A4-CD26-D9B0-49B3*28

LEA-4T:

$GPTXT,01,01,02,LIC 85E7-6E21-710B-0272-42DC*56

Use "RAM patch (R)" instead.

U-BLOX5

TRK-TRKD5+TRK-SFRB+NAV-CLOCK+NAV-TIMEGPS Parser

In the most common use cases the data is sent over USB or UART1. Execute the appropriate rtklib CMD file to initialize/disable raw data output (ublox56_usb_rawtrk.cmd or ublox56_uart1_rawtrk.cmd):

ublox56_usb_rawtrk.cmd
!UBX CFG-MSG 3 10 0 0 0 1 0 0
!UBX CFG-MSG 3  2 0 0 0 1 0 0
!UBX CFG-MSG 1 32 0 0 0 1 0 0
!UBX CFG-MSG 1 34 0 0 0 1 0 0
@
!UBX CFG-MSG 3 10 0 0 0 0 0 0
!UBX CFG-MSG 3  2 0 0 0 0 0 0
!UBX CFG-MSG 1 32 0 0 0 0 0 0
!UBX CFG-MSG 1 34 0 0 0 0 0 0
ublox56_uart1_rawtrk.cmd
!UBX CFG-MSG 3 10 0 1 0 0 0 0
!UBX CFG-MSG 3  2 0 1 0 0 0 0
!UBX CFG-MSG 1 32 0 1 0 0 0 0
!UBX CFG-MSG 1 34 0 1 0 0 0 0
@
!UBX CFG-MSG 3 10 0 0 0 0 0 0
!UBX CFG-MSG 3  2 0 0 0 0 0 0
!UBX CFG-MSG 1 32 0 0 0 0 0 0
!UBX CFG-MSG 1 34 0 0 0 0 0 0

EXT firmware with RAW support (F)

[1] EXT_G50_602_LEA-5H.bdbfccefb9dbd8395dec7adece53c1f9

U-BLOX6

RAM patch (R)

For ublox6 ROM6.02 use the following CUSTOM UBX messages:

to enable RXM-RAW

b5 62 09 01 10 00 dc 0f 00 00 00 00 00 00 23 cc 21 00 00 00 02 10 27 0e

to enable RXM-SFRB

b5 62 09 01 10 00 08 11 00 00 00 00 00 00 0f cc 21 00 00 00 02 11 42 4d

For the ublox6_6.02 init CMD section use

!HEX b5 62 09 01 10 00 dc 0f 00 00 00 00 00 00 23 cc 21 00 00 00 02 10 27 0e
!HEX b5 62 09 01 10 00 08 11 00 00 00 00 00 00 0f cc 21 00 00 00 02 11 42 4d

For ublox6 ROM7.03 use:

to enable RXM-RAW

b5 62 09 01 10 00 c8 16 00 00 00 00 00 00 97 69 21 00 00 00 02 10 2b 22

to enable RXM-SFRB

b5 62 09 01 10 00 0c 19 00 00 00 00 00 00 83 69 21 00 00 00 02 11 5f f0

For the ublox6_7.03 init CMD section use

!HEX b5 62 09 01 10 00 c8 16 00 00 00 00 00 00 97 69 21 00 00 00 02 10 2b 22
!HEX b5 62 09 01 10 00 0c 19 00 00 00 00 00 00 83 69 21 00 00 00 02 11 5f f0

TRK-TRKD5+TRK-SFRB+NAV-CLOCK+NAV-TIMEGPS Parser

GPS-only. Use this file for USB

ublox56_usb_rawtrk.cmd
!UBX CFG-MSG 3 10 0 0 0 1 0 0
!UBX CFG-MSG 3  2 0 0 0 1 0 0
!UBX CFG-MSG 1 32 0 0 0 1 0 0
!UBX CFG-MSG 1 34 0 0 0 1 0 0
@
!UBX CFG-MSG 3 10 0 0 0 0 0 0
!UBX CFG-MSG 3  2 0 0 0 0 0 0
!UBX CFG-MSG 1 32 0 0 0 0 0 0
!UBX CFG-MSG 1 34 0 0 0 0 0 0

and this one for UART1:

ublox56_uart1_rawtrk.cmd
!UBX CFG-MSG 3 10 0 1 0 0 0 0
!UBX CFG-MSG 3  2 0 1 0 0 0 0
!UBX CFG-MSG 1 32 0 1 0 0 0 0
!UBX CFG-MSG 1 34 0 1 0 0 0 0
@
!UBX CFG-MSG 3 10 0 0 0 0 0 0
!UBX CFG-MSG 3  2 0 0 0 0 0 0
!UBX CFG-MSG 1 32 0 0 0 0 0 0
!UBX CFG-MSG 1 34 0 0 0 0 0 0

TRK-TRKD5+TRK-SFRBX+NAV-CLOCK+NAV-TIMEGPS Parser

Needs GLONASS firmware EXT 1.00, can be used for GPS or GLONASS raw data.

ublox6glo_usb_rawtrk.cmd
!UBX CFG-MSG 3 10 0 0 0 1 0 0
!UBX CFG-MSG 3 16 0 0 0 1 0 0
!UBX CFG-MSG 1 32 0 0 0 1 0 0
!UBX CFG-MSG 1 34 0 0 0 1 0 0
@
!UBX CFG-MSG 3 10 0 0 0 0 0 0
!UBX CFG-MSG 3 16 0 0 0 0 0 0
!UBX CFG-MSG 1 32 0 0 0 0 0 0
!UBX CFG-MSG 1 34 0 0 0 0 0 0
ublox6glo_uart1_rawtrk.cmd
!UBX CFG-MSG 3 10 0 1 0 0 0 0
!UBX CFG-MSG 3 16 0 1 0 0 0 0
!UBX CFG-MSG 1 32 0 1 0 0 0 0
!UBX CFG-MSG 1 34 0 1 0 0 0 0
@
!UBX CFG-MSG 3 10 0 0 0 0 0 0
!UBX CFG-MSG 3 16 0 0 0 0 0 0
!UBX CFG-MSG 1 32 0 0 0 0 0 0
!UBX CFG-MSG 1 34 0 0 0 0 0 0

EXT firmware with RAW support (F)

GPS-only. Flash patch for LEA-6H [2]

U-BLOX7

TRK-TRKD5+TRK-SFRBX+NAV-CLOCK+NAV-TIMEGPS Parser

I have enabled the below messages and get fix with RTKLIB, before I have enabled to only output UBX messages and at a rate @115200. This is done on a Ublox NEO-7M-000 module.

For Ublox7 ROM1.0 use the following CUSTOM UBX messages:

@9600 on UART1

to enable UBX-protocol in and out and speed 115200 on UART1.

B5 62 06 00 14 00 01 00 00 00 D0 08 00 00 00 C2 01 00 01 00 01 00 00 00 00 00 B8 42


@115200 on UART1

to enable TRK-TRKD5

B5 62 06 01 03 00 03 0A 01 18 5D

to enable TRK-SFRBX

B5 62 06 01 03 00 03 0F 01 1D 67

to enable NAV-CLOCK

B5 62 06 01 03 00 01 22 01 2E 87

to enable NAV-SVINFO

B5 62 06 01 03 00 01 30 01 3C A3

The same result can be achieved with the rtklib CMD files:

ublox67glo_usb_rawtrk.cmd
!UBX CFG-MSG 3 10 0 0 0 1 0 0
!UBX CFG-MSG 3 16 0 0 0 1 0 0
!UBX CFG-MSG 1 32 0 0 0 1 0 0
!UBX CFG-MSG 1 34 0 0 0 1 0 0
@
!UBX CFG-MSG 3 10 0 0 0 0 0 0
!UBX CFG-MSG 3 16 0 0 0 0 0 0
!UBX CFG-MSG 1 32 0 0 0 0 0 0
!UBX CFG-MSG 1 34 0 0 0 0 0 0
ublox67glo_uart1_rawtrk.cmd
!UBX CFG-MSG 3 10 0 1 0 0 0 0
!UBX CFG-MSG 3 16 0 1 0 0 0 0
!UBX CFG-MSG 1 32 0 1 0 0 0 0
!UBX CFG-MSG 1 34 0 1 0 0 0 0
@
!UBX CFG-MSG 3 10 0 0 0 0 0 0
!UBX CFG-MSG 3 16 0 0 0 0 0 0
!UBX CFG-MSG 1 32 0 0 0 0 0 0
!UBX CFG-MSG 1 34 0 0 0 0 0 0

U-BLOX-M8

TRK-MEAS+TRK-SFRBX+NAV-CLOCK+NAV-TIMEGPS Parser

I have enabled the below messages and get fix with RTKLIB, before I have enabled to only output UBX messages and at a rate @115200. This is done on a Ublox NEO-8M-00-01 module.

For M8N firmware 2.01 use the following CUSTOM UBX messages:

@9600 on UART1

to enable UBX-protocol in and out and speed 115200 on UART1.

B5 62 06 00 14 00 01 00 00 00 D0 08 00 00 00 C2 01 00 07 00 03 00 00 00 00 00 C0 7E

@115200 on UART1

to enable TRK-SFRBX03x0F

B5 62 06 01 03 00 03 0F 01 1D 67

to enable TRK-MEAS 03x10

B5 62 06 01 03 00 03 10 01 1E 69

to enable NAV-CLOCK

B5 62 06 01 03 00 01 22 01 2E 87

to enable NAV-SVINFO

B5 62 06 01 03 00 01 30 01 3C A3

if you want to change sample rate to 5Hz or 200ms use the following HEX

B5 62 06 08 06 00 C8 00 01 00 01 00 DE 6A

The GLONASS pseudoranges provided by TRK-MEAS (v3) seem to differ from RXM-RAWX ( C1(RXM-RAWX) = C1(TRK-MEAS) + Correction ) by an integer number of meters for EXT 2.30, and different values for TRK-MEAS (v5) EXT 3.01 :

Pseudo-range correction table
SV Correction (m) 2.30 Correction (m) 3.01 Frequency channel
R01 -4 8 +1
R02 0 14 -4
R03 -7 5 +5
R04 -4 7 +6
R05 -4 8 +1
R06 0 14 -4
R07 -7 5 +5
R08 -4 7 +6
R09 3 13 -2
R10 0 11 -7
R11 0 10 0
R12 2 12 -1
R13 3 13 -2
R14 0 11 -7
R15 0 10 0
R16 2 12 -1
R17 0 [-8] 13 [5] -6 [+4]
R18 1 14 -3
R19 -9 5 +3
R20 -3 6 +2
R21 -8 5 +4
R22 1 14 -3
R23 -9 5 +3
R24 -3 6 +2
R25 ? ?? ?? ??
R26 0 ? -5
R27 ? ? +7
Pseudo-range correction table
Frequency channel Correction (m) 2.30 Correction (m) 3.01
-7 0 11
-6 0 13
-5 ?? ??
-4 0 14
-3 1 14
-2 3 13
-1 2 12
0 0 10
+1 -4 8
+2 -3 6
+3 -9 5
+4 -8 5
+5 -7 5
+6 -4 7
+7 ?? ??

The current rtklib version (2015-10-01) does not handle the experimental GLONASS-K (R26 and R27) signals properly.

RXM-RAWX+RXM-SFRBX

This command combination can be used only if you have flashed EXT 2.30 firmware. Can also be used with EXT 3.01 firmware installed on M8T

GALILEO support

With u-blox M8 it is possible to receive Beidou-2 raw data, but not GALILEO. Shame on you u-blox, you are a European GNSS company after all !!! NEW: Support added in EXT 3.01 firmware.

BEIDOU support

To enable tracking of all Beidou satellites send the following CFG-BDS (0x064a) message

B5 62 06 4A 18 00 00 00 00 00 00 00 00 00 1F 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 83 AC
!HEX B5 62 06 4A 18 00 00 00 00 00 00 00 00 00 1F 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00 83 AC

RTCM support

U-blox receivers support RTCM2 messages 1,2,3,9 (the same as good old SiRF2)


SBAS RAW data

SBAS data messages can be extracted from RXM-SFRB, RXM-SFRBX, TRK-SFRB or TRK-SFRBX packets (i.e. any u-blox based receiver is also SBAS RAW data capable)

EGNOS

Ionospheric coverage area and interpolated delay values for 12 May 2014 extracted from MT18 and MT26:

Iono grid egnos2.png Iono delay egnos2.png

Known firmware versions

TODO.