u-blox NEO-M8T, part I

Archives like CDDIS and SOPAC are great resources for accessing data from permanent GNSS stations using dual- or triple-frequency receivers. There is however a lack of publicly available single-frequency data sets to improve the development of processing algorithms aimed at low-cost receivers. For this reason, I decided to buy myself a little “toy” to collect my own data and, hopefully, get enough insights to benefit the precision, accuracy and integrity of these devices.


Inspired by the excellent rtkexplorer blog, I bought a u-blox NEO-M8T receiver and a cheap patch antenna, selling for 75$US and 20$US, respectively, at the CSG Shop (see figure below). The u-blox chip comes with an antenna connector and a small USB plug. The setup would not be complete without a USB to small USB cable to connect the board to the computer, but I used one I already had at home from my Nikon camera (otherwise, you can buy one for 5$US). No battery pack is needed since the devices are powered directly by the computer. The antenna also has a magnet to hook it safely to the roof of your car. While this setup is perfect for a GNSS techie like me, it is not quite adequate for “real” field work, and commercial low-cost integrated systems with a weather-proof enclosure, batteries and a radio link would definitely be a more suitable option.



The NEO-M8T is in fact a timing receiver and it can provide access to raw measurements on L1 (carrier-phase, pseudorange, Doppler) for GPS, GLONASS, Galileo, BeiDou, QZSS and SBAS. However, out of the box, it was configured to track GPS and GLONASS only. To access the raw data, a simple way consists of downloading u-blox's u-center, a free software for configuring and analyzing u-blox data. After connecting the board to your PC, go to the Receiver -> Port menu, and select the COM on which the board is connected:



You then need to configure which messages the receiver should output. To do this, select the View -> Message View menu. Since I am only interested in raw measurements, I disabled all messages but the RAWX message, which now appears in bold:



On the right panel, you can see the numerical values for the raw measurements of GPS and GLONASS satellites. Saving these values to the u-blox binary format can be achieved by pressing the “record” button.


Currently, u-center does not support a direct conversion from binary to RINEX. For this purpose, RTKLib was supposed to do the trick, although running the RTKCONV binary from the 2.4.2 release did not work for me. The source code of version 2.4.3 is available on GitHub but not the binaries. Instead of compiling the source myself, I opted for the “demo5” binaries provided on rtkexplorer. Selecting your u-blox binary file and hitting Convert will then provide the RINEX file:



Now that I can get raw measurements from my u-blox, it is time to take it outside... stay tuned!

Write a comment

Comments: 18
  • #1

    rui (Saturday, 25 March 2017 21:04)

    Just a quick comment:
    > The source code of version 2.4.3 is available on GitHub but not the binaries.
    The binary is available from different repository: https://github.com/tomojitakasu/RTKLIB_bin

  • #2

    Octavian (Sunday, 26 March 2017 16:50)

    Nice purchase indeed. In case if you are not aware already:
    1) You can also convert ubx to rinex using teqc. The rinex version is 2.x though.
    2) neo-8t is a concurent receiver chipset, i.e either GLO or BDS in combination with GPS and QZS but not all constellations simultaneously.
    3) one can use Ntrip embedded capabilities from u-center to get RTK solution. The precision indicators are rather overoptimistic in my opinion.
    Happy tests with carrier phases from a navigation grade receiver.

  • #3

    Simon Banville (Sunday, 26 March 2017 19:53)

    @rui Are these binaries really from the 2.4.3 source? Taking rtkconv.exe as an example, the link above seems to provide the executable for rtklib 2.4.2 p12.

  • #4

    Simon Banville (Sunday, 26 March 2017 19:58)

    @Octavian Thanks for the clarifications! I haven't tried TEQC for this purpose but from the comments I read online, I understood that it did not support the RAWX messages. Do you know if this is correct?

  • #5

    Jim Mitchell (Wednesday, 29 March 2017 14:00)

    Good luck when you take it outside. Have used both Teqc and Rtklib Demo5 to convert data. My tests have shown that the antenna is the limiting factor and a ground plane has significant impact. The roof of my car did not seem to work as an effective ground plane even with the Tallysman 3742 antenna. Mounted same antenna on 10 cm ground plane and got nearly 100% fixed solutions from RTKlib. My limited anecdotal experience is that its like the old days of survey grade GPS. If you are collecting true kinematic data it doesn't hurt to collect a few minutes of static data on both ends of the kinematic data. Rtklib has a feature which allows forward and backward processing of kinematic data which is also helpful.

  • #6

    Simon Banville (Wednesday, 29 March 2017 18:21)

    @Jim Thanks for sharing your insights, I'll keep the ground plane idea in mind! Being used to process IGS data, I'm sure it will be quite a learning experience!

  • #7

    Miquel Garcia (Friday, 31 March 2017 11:02)

    Have fun with the device! We have recently made some tests (both in static and in kinematic mode) with the previous version of the chipset (ublox NEO-7P), which is embedded in our prototype receiver (Argonaut). Long story short: sub decimetric accuracy in static mode and consistent decimetric accuracy in kinematic mode (using RTK) seems perfectly feasible. You can have a look at some results at:


    I hope they are useful for the community.

  • #8

    rui (Sunday, 02 April 2017 08:45)

    Please select branch 'rtklib_2.4.3' to get ver. 2.4.3 binary from github.

  • #9

    Jim Mitchell (Thursday, 20 April 2017 20:44)

    Simon - Just thought I'd give you a heads up. I seem to have a problem getting fixed solutions using teqc 2016Nov7 as a ubx to rinex converter (5% fix). Converted the same data set with the converter in RTKLIB v.2.4.3 demo5 b26b got majority - 75% of the dataset fixed solutions . Don't really care to figure out why at this time.

  • #10

    Pierre (Friday, 21 April 2017 15:20)

    Hi Simon !
    Nice blog !
    I agree with Jim : ground plane could have a significant impact on acquisition and processing convergence. There is a white paper by ublox presenting some tests.

  • #11

    Simon Banville (Sunday, 23 April 2017 18:23)

    @Pierre Thanks for suggesting the white paper. Here is the link in case anybody is interested:

  • #12

    Dave K (Tuesday, 20 June 2017 22:55)

    Is there a US Supplier for an M8T Based board? CSG seems to have everything but shipping is expensive and i'm guessing slow...

  • #13

    John Hutchinson (Tuesday, 20 February 2018 13:05)

    +1 for a US supplier. Any pointers?

  • #14

    Simon Banville (Tuesday, 20 February 2018 20:23)

    If you're ready to invest slightly more, you can get a nice kit directly from u-blox: https://www.u-blox.com/en/product/c94-m8p

    You can still get raw measurements from the M8P if needed, but this kit allows for plug-and-play RTK if you prefer.

  • #15

    Jim Mitchell (Tuesday, 06 March 2018 22:16)

    Simon - Did you buy the c94-m8p kit? Can you record data directly on the chip? I believe the data sheet says there is 2 Gb of memory but I have not seen where you can record the Ublox format.

  • #16

    Matthew Goode (Tuesday, 01 May 2018 05:11)

    The best place to ask this question is the u-blox forum (https://forum.u-blox.com/).

  • #17

    CSG Shop (Monday, 24 September 2018 08:18)

    dont buy in CSG Shop they are fake store, i buy before and have bad experience

  • #18

    Simon Banville (Monday, 01 October 2018 20:13)

    @CSG I'm sorry you had a bad experience with CSG Shop. They can't possibly be a fake store because I got my u-blox from them...