U-blox raw format
UBX messages providing raw measurements
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 :
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 |
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:
Known firmware versions
TODO.