Newest U-blox M8N receivers not usable with RTKLIB

It looks like it is no longer possible to access the raw GPS measurements on the newest version of the u-blox M8N receiver.  Access to these raw measurements on the M8N has always been through debug messages not officially supported by u-blox.  Last year, when they migrated from the 2.01 version of firmware to the 3.01, version they scrambled the output of these messages so they were no longer readable by RTKLIB.

Until recently though, the units they were shipping still had an older 2.01 version of ROM.  With these units it is possible to downgrade the firmware to 2.01 using the instructions on their website.  With the older firmware loaded, the receivers revert to their previous behavior and the debug messages are no longer scrambled.

Apparently their newest units are shipping with a 3.01 version of ROM and this ROM is not compatible with the older 2.01 version of firmware.  If you attempt to load the older firmware it will appear to succeed but will still be running the newer code.

You can see what version of ROM and firmware your receiver is running using the UBX-MON-VER message from the u-center console.  The example below shows the message output for one of the newer modules with the 3.01 ROM after attempting to download the older firmware.  I believe the firmware listed under “Extension(s)” is the ROM version and the firmware listed under “Software Version” is the version of firmware loaded to flash.  In this case you can see that the ROM is version 3.01 and that the flash is still running version 3.01 even though it was attempted to load the 2.01 firmware.


In an older version of the M8N module, the ROM code listed under “Extension(s)” would have been 2.01 and the firmware listed under “Software Version” could be either 2.01 or 3.01 depending on how old the module was and what firmware had been downloaded to it.

There are a few more details about the issue on the u-blox forum in this thread.  Thanks to Marco for making me aware of the issue and Clive and Helge for providing a detailed explanation of what is going on.

If you are using the u-blox M8T, and not the M8N, then you will be using the officially supported raw measurement messages and would normally not care about access to the debug messages.  The only exception I know of is that the resolution of the SNR measurements are 0.2 dB in the debug messages and 1.0 in the official messages.  I have not confirmed that the debug messages on the 3.01 M8T firmware are scrambled but it is likely that they are.

[Note 6/25/17:  A couple of readers have pointed out that this is not the whole story.  It would have been more correct to say that the newest M8N modules are not usable with the publicly available versions of u-blox firmware and RTKLIB.  It turns out that u-blox did not use a particularly sophisticated method to scramble the debug messages and there are now several modified versions of u-blox firmware and RTKLIB floating around that have been hacked to unscramble the messages.  I don’t want to get into the question of ethics or legality of using these codes but just say that I personally am less comfortable using the debug messages in the modules where u-blox has made an obvious attempt to prevent this and have avoided any use of them at least for the time being.]


22 thoughts on “Newest U-blox M8N receivers not usable with RTKLIB”

      1. Hello,could i Downgrade this neo-M8N-0-10 to use TRK-MEAS and TRK-SFRBX?

        Software version:
        EXT CORE 3.01 (107900)

        Hardware Version:

        ROM BASE2.01 (75331)
        FWWEP=SPG 3.01
        PROTVER 18.00
        FIS=0xEF4015 (100111)


    1. The NEO-M8N-0-01 parts are marked as such on the label of the device, these will have 2.01 ROM and 2.01 FW. Raw data is thus available via UBX-TRK-MEAS

      Where you get into issues is with NEO-M8N-0-10 parts which ship with 3.o1 FW and either 2.01 or 3.01 ROM based on the production date and engineering code printed on the label. You cannot flash the 3.01 ROM devices with 2.01 FW, but the 3.01 ROM devices do optionally support UBX-RXM-RAWX, and I have such devices outputting 10 Hz multi-constellation.

      The new link for post referenced in blog



      1. For those in the US, I have 3.01 ROM FW G-MOUSE devices available for $50 USD shipped, output UBX-RXM-RAWX at 10 Hz for GPS+SBAS+GLONASS+GALILEO operation in RTKLIB


        1. It’s a little unclear to me. According to the blog post, newer M8N are not capable of sending RAW messages, but you are saying they are?


          1. It’s not as Black and White as that. It’s possible to recover raw measurements from all these devices, often by more that one method, but it does require an understanding of how they function. The 3.01 ROM devices do optionally support UBX-RXM-RAWX


          2. I’ve found that any M8N device (including the $20 USB pucks available on AE) can be sent a special binary message via uBlox Center to activate RAW. It’s not permanent though, it has to be done at each power on.


      2. So with UBX-RXM-RAWX activated 3.01 M8N modules can be made to work with RTKLIB by outputting observation data ? How does one activate that optional feature ? Thanks !


        1. Really?Could Work with 3.01FW? Can you give more detail about the special binary message? The neo-m8n with 2.01FW is not easy to get at these time.


  1. “u-blox firmware and RTKLIB floating around”

    Would you mind sharing some clues about looking at those new versions ?
    I can’t find any information about that and would like to have my M8N (ROM 3.01) work with RTKLIB. I just bought it without knowing enough details about the new firmware.


  2. Note for noobs like me: You can get to the version message by opening View/Messages View/(scroll down to UBX & double click it/MON/VER.

    If you haven’t opened the UBX menu with a double click before, its children do not appear in the menu.


  3. Interesting point that “the resolution of the SNR measurements is 0.2 dB in the debug messages.” I’ve asked u-blox about it in the past and they’ve only mentioned it’s 1 dB for both NMEA and UBX. I’ve had a hard time finding a low-cost GPS unit that outputs SNR as decimal values. Part of the blame is on NMEA 0183, which specifies SNR as an integer value in the satellites-in-view message (GSV). The resolution is much improved in NMEA 2000, reaching 0.01 dB as confirmed in Garmin 19x units; unfortunately the newer spec is not as widely adopted. The only option I found over the years, though not quite at low cost, are the modules from GeoStar Navigation, which give SNR to 0.001-dB resolution. I’ve just asked NavSpark if they’d consider offering a custom firmware. Please let me know if you’re aware of other options. By the way, do the SNR debug messages remain available in any u-blox module with current firmware? I should mention that in this application I’m not necessarily interested in other types of raw data (carrier-phase and pseudorange). We use high-resolution SNR for environmental remote sensing, based on multipath (reflections), see e.g.: and

    Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: