U-blox GNSS Modules and RTK

In last few years use of High Precision Positioning systems gained popularity in variety of application e.g. construction, agriculture and GIS. High precision GNSS systems with horizontal accuracy in centimeters helped in precision agriculture for planting in accurate positions as per plan and auto guidance for tractors. AutoGuidance in big farms helps farmers to save fertilsers and herbicides by preventing unnecessary reapplication over same patch of field. Vertical accuracy of GNSS service helps for land leveling applications.

But How they achieve centimeter level Accuracy. Do they use sane satellites ? Do they use same hardware architechture ?

Yes they use same satellites and same hardware but the methods to get the cordinates is different. They are generally called correction methods. In normal GNSS receivers there are various errors

  1. Satellite Clock Error
  2. Orbit Shift/ In accuracy in Laser Marking
  3. Variable Propagation Delay due to ionsperic variations
  4. Noise sourced from other sources
  5. Multipath Error

Few of these errors are static over time which can be easily corrected with a reference data of the Final cordinates or the PRN and azimuth angles. The oldest method use this technique its called Differential GPS or DGPS (DGNSS in Generic terms). Lets list out the correction techniques

  1. DGPS
  2. PPP
  3. RTK

The most accurate coorection method is RTK which need RAW Data from GNSS modules. Most of the GNSS?GPS module with RAW data costs very high and most of them are not available for individual buyers. Now these ublox Neo Series GPS Chips available abundantly in online shopping sites. These modules cost approx $15 or INR 1000/- . Although none of them seems to be a genuine product. The first one i ordered online was a ublox Neo-m8n which was a Neo-6M  when received so i returned the item. Next time i purchased Neo-6M from local market(Chandni chowk) which was  a ublox-7 version chip inside !! Again i ordered another one from amazon (REES52 Neo-7) this was a actual Neo-6 (but i was expecting Neo-7 inside )

Now how did i enabled RAW data from both Chips, The chips are not assumed to output RAW data as per the manufacturer and even they declare the discussion of related things on there official forum as illegal discussion. Fetching RAW data from these chips are actually a user level hack. They have some debug codes to check working of there GPS engines which spits out the RAW data and the exports decoded it as the data they actually need.

As the names are very confusing i tried the wrong commands from the ubloxraw page at last got the correct ones and some commands sniffed from the ucenter +serial sniffer. The ublox 7 series chip uses TRK-TRKD5+NAV-CLOCK+NAV-TIME to get RAW Data where as ublox 6 version chip gets the RAW data directly as RXM-RAW

——————————————————————————————
For ublox 7 Proto 14.3(TRK-TRKD5+TRK-SFRBX+NAV-CLOCK+NAV-TIMEGPS Parser)
——————————————————————————————
Change baudrate
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
TRK-RAW
B5 62 06 01 03 00 03 0A 01 18 5D
TRK-SFRBX
B5 62 06 01 03 00 03 0F 01 1D 67
NAV-CLOCK
B5 62 06 01 03 00 01 22 01 2E 87
NAV-SVINFO
B5 62 06 01 03 00 01 30 01 3C A3
———————————————————————————————————————————
For ublox 6 7.03 (RXM-RAW+RXM-SFRB)
———————————————————————————————————————————
ubx only
b5 62 06 00 14 00 01 00 00 00 d0 08 00 00 80 25 00 00 07 00 01 00 00 00 00 00 a0 a9 b5 62 06 00 01 00 01 08 22
////////////////////////////////////Key Code//////////////////////////////////////////
b5 62 09 01 10 00 c8 16 00 00 00 00 00 00 97 69 21 00 00 00 02 10 2b 22
b5 62 09 01 10 00 0c 19 00 00 00 00 00 00 83 69 21 00 00 00 02 11 5f f0
!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
////////////////////////////////////Key Code//////////////////////////////////////////
Enable ubx raw
    b5 62 06 01 03 00 02 10 01 1d 66
Enable ubx sfrbx
   XXXXX b5 62 06 01 03 00 02 13 01 20 6c
    b5 62 06 01 03 00 02 11 01 1e 68
For RTKlib startup command .cmd file
!HEX b5 62 06 00 14 00 01 00 00 00 d0 08 00 00 80 25 00 00 07 00 01 00 00 00 00 00 a0 a9 b5 62 06 00 01 00 01 08 22
!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
!HEX b5 62 06 01 03 00 02 10 01 1d 66
!HEX b5 62 06 01 03 00 02 11 01 1e 68
!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
!HEX b5 62 06 01 03 00 02 10 01 1d 66
!HEX b5 62 06 01 03 00 02 11 01 1e 68
Some screenshots from the RTKNAV with NEo-7 and RTCM correction data from colombo srilanka. I have also tried RTK with Neo-6 as base directly coonected to laptop and Neo-7  connected over bluetooth but the accuracy was not good enough.
Now i want to test with genuine Neo-m8p chips but u-blox don’t want to sell modules to individuals they want only bulk buyers.
rtk3 rtknow

Leave a Reply