Reach Firmware 26 Beta 2 is out for all devices

Bench tested today and it appears to work according to SNIP. Tomorrow I will field test with my Trimble FMX as the rover.


This is a duplicate post as it pertains to both this thread and the Legacy RTCM3 messages

Not sure the changes are working correctly. I tried to connect my M2 with my Trimble unit by taking out my Arduino 1008 injector. I could not get my monitor to go fixed with either all legacy output or MSM4 and message 1008.

I changed everything back to MSM4 and added my 1008 injector back in and still couldn’t get fixed. I have been racking my brain on it for almost three hours.

Tomorrow night, I will do a test with M2 version 2.24.2 and my 1008 injector and see if it goes fixed. If so, then there is definitely an issue with the BETA software.

There was one thing I did notice on SNIP that I do not recall seeing before this update. Once connected and parsed in the past it just said RTCM3. Tonight with the Beta software it made mention of UBlox F9P.

I know there are several sites that state “Do not mix new with legacy” perhaps there is a lot of truth to that.

I didn’t get a chance to mess with the talker changing from GN or GP. I wouldn’t think that has anything to do with it as that is NMEA not RTCM but who knows in a Beta. If nothing else, please keep the option of selecting what NMEA messages you want to output.

1 Like

Connected to a hi target as rover, shows connected, and it even shows the coordinates of the base and the distance from the rover but rover just shows single solution


My hemisphere rover has exactly the same behaviour.

1 Like

Well now I am not sure what is up.

I reverted to 2.24.2 hooked everything up and now the system I had working is not. I did two things to double check my radio setup. First was having a receiving radio on my laptop connected to SNIP. It showed the correct data stream. When connected to my monitor, it still wouldn’t go fixed.

Then I used Lefebure NTRIP for windows. I connected one of my RFD radios to my laptop (COM30) and used OH CORS RTCM data stream out COM30 which connected to my 3DR on the Monitor. It went fixed immediately. This tells me it isn’t a radio connection problem.

Could there be any residuals from 26.1 on it still? If so, is there a “hard reset” that can be performed?

I know M2 base is talking to my monitor. In order to check this, I have my M2 setup a new base via 1 minute average with no corrections. Once it completes the average and the base is enabled, the Trimble monitor has a popup message appear “Base station has changed”. It just isn’t able to utilize the data for some reason.

1 Like

Hi everyone,

Thanks for the reports!

This behavior is rather strange. We’d like to investigate why you’re facing the issues with Fix while using the legacy messages.

@vgo195, @joraybgo67, could you please share what messages you were sending from your Reach base? Would it be possible to send the base correction log recorded on the rovers in RTCM3 so that we could check it? Position logs and raw data logs will be of help for us, too.

@jp-drain-sol, could you also share the base correction log from your rover when Reach was on Beta version? Do I understand correctly that the revert back to your previous setup without the legacy messages from the Reach is not working properly?

1 Like

After rereading the thread once again, I’ve got a couple of more questions.

@jp-drain-sol, could you please share the RTCM3 log when the base is on v2.24.2 as well?

Does the rover calculate the solution when your Reach base is on 26 beta 1 but with the injection of the 1008 message? This will help us to narrow down the issue with the messages as it’s hard to determine why it might happen for now.

1 Like

I did some testing last evening before I read your replies.

First was on version 2.24.2, I did get it working using my Nano 1008 injector and the original base messages. Sorry I forget the numbers, I was using Arp at 1 Hz, GPS at 2Hz and GLONASS at 2Hz. I do not enable the others as my Trimble monitor doesn’t have their capability.

At first, I couldn’t get fix. I had it set as I had previously with ARP at 1 Hz and GPS/GLONASS at 5 Hz. It would go go fix but, not reliably, the correction age would clime then go Float/DGPS. I started testing different parameters to see what worked best. Eventually, I found the 1/2/2 Hz gave me the most stable fix. I should mention that my Trimble monitor (FMX) is GLONASS enabled but I realized last evening that in RTK, it isn’t utilizing the GLONASS corrections. It might need the legacy for GLO. I was only tracking 8-10 satellites and should have had 16-18 with GLONASS

After getting it to connect reliably, I again updated to 26.1 I first tested with the stable working conditions and it went fix, no problem. I then disabled all of the normal messages and tried enabling all of the legacy messages only. It dropped fix and did not go fixed for over 5 minutes. I should explain, the Nano injector will pass through all messages and only inject the 1008 if 1006 is present. I changed back to the working config and it went fixed in less than 45 seconds.

Separating logs on the FMX is kind of a pain. I will clear all logs and do more testing so I can get the data needed.

Another option would be to enable the 1007 message. I have attached a screenshot from SNIP. these are the messages that OH CORS put out on their RTCM3 stream. I know the only one you cannot enable in your DEV would be the 4094 as that is a Trimble Proprietary message.SNIP messages

By the way, I did notice that the M2 is transmitting something via the serial port even before the base has averaged and starts sending corrections. I know this as the lights on my RFD900 and Nano were blinking TX during startup of the M2.

1 Like

@jp-drain-sol, thanks for your tests!

As there’s a lot of information, let me separate the configurations that have been tested so that we can clearly see them. Please feel free to correct me if something is amiss.

  1. The first test:
  • M2 on v2.24.2
  • enabled MSM4 messages
  • injected 1008 message

This gives you Fix on your rover.

  1. The second test:
  • M2 on 26 Beta 1
  • enabled MSM4 messages
  • injected 1008 message

This gives you Fix on your rover.

  1. The third test
  • M2 on 26 Beta 1
  • enabled legacy messages 1004, 1008, 1012

This doesn’t give you the Fix on the rover.

If I understood the previous configurations correctly, then it’ll be really helpful to check the following setups as well:

  1. The first setup
  • M2 on 26 Beta 1
  • injected 1008 message
  • enabled 1004 and 1012 legacy messages
  1. The second setup
  • M2 on 26 Beta 1
  • enabled 1008 message
  • enabled MSM4 messages

Would it be possible for you to check the two configurations above and share the results with us? They will help us to narrow down the issue so that we can see the possible reason for such behavior.

1 Like

You got it right. Only 1 addition. On test 3 I also had 1034 or 1033 enabled. I forget which one is available in the legacy messages.

I think I tried your two suggestions but I can confirm this evening.

1 Like

What do you mean by injected 1008 messages?

1 Like

Prior to Dev version 26.1 the M2/RS2 could not transmit RTCM message 1008 which trimble components need to get a fix status. They can also go fixed with message 1007.

All the details are in this thread My M2 project, Trimble Base Station

To sum it up, I have an m2 putting out RTCM via serial at 57600, it is connected to an Arduino Nano that is programmed to add a blank message 1008 if there is none present but there is a message 1005/1006. It lets the rest of the RTCM messages pass through and adds the 1008 via serial port at 57600 which is connected to a RFD900+ radio which transmits to a 3DR radio that I have connected to my Trimble monitor for RTCM corrections.

1 Like

Sorry, long day at work. I will not be able to test this evening. Perhaps tomorrow, if not it will be either Saturday or Sunday.

1 Like

Very good addition, i changed the talker-id to GP GGA 10hz, VTG10hz and ZDA 1hz, as that is what my autosteer requires. RS2 communicates very good and stable with my autosteer device now, but RS2 isn’t able to get a fix, but may be i still have to change some settings.

Very hopefull that i will get in running on RTK! (using NTRIP)


You pass the RTCM or MSM stream output of the Emlid base through another device (like an Arduino) or through a capable NTRIP caster that adds an (artificial) 1008 RTCM message type.

This is done to enable certain legacy rover receivers (think Trimble or Topcon) that expect to see this message type (even if they effectively ignore the content of such) on the correction stream to establish an RTK fix.

I managed to get a fix now. Somehow i can only change talker Id in reachview2, reachview 3 doesn’t support this option, is that correct?

I don’t know if something changed on the emlid caster but today everything was working fine with the hemisphere rover with the standard MSM4 messages of the M2. It fixed right away in 2 different sites.
I had enabled all the MSM4 messages plus 1006 and the rover did read the corrections immediately.
With the legacy messages I was not so lucky.
The legacy messages didn’t work with either rover (novatel or hemisphere). The hemisphere rover couldn’t read the corrections at all and stayed single and the novatel rover stayed float all the time.
As fas as the novatel rover is concerned I don’t need the legacy messages anymore because I don’t plan to use it as a rover (it would be nice though if it could work). I will use this receiver as base station in pair with the hemisphere receiver.
As far as the hemisphere rover in pair with emlid m2 this is something i want to use in my workflow because of the full gnss support. Fingers crossed I will check it some more times and will report back.
I attach two logs for you to check if everything is ok. One is the novatel base log and the other is the emlid m2 log. In both cases I was using the hemisphere rover successfully.

base_epoch.log (162.3 KB) base_M2.log (154.5 KB)

In the 1008 injector there are two messages to choose from;

// Blank RTCM3 type 1008 message for Trimble
const char packet1008[12] = { 0xd3,0x00,0x06,0x3f,0x00,0x00,0x00,0x00,0x00,0x99,0x25,0xca };

// ADVNULLANTENNA type 1008 message (station id =0)
// const char packet1008[26] = {0xd3,0x00,0x14,0x3f,0x00,0x00,0x0e,0x41,0x44,0x56,0x4e,0x55,0x4c,0x4c,0x41,0x4e,0x54,0x45,0x4e,0x4e,0x41,0x00,0x00,0x79,0x06,0x89};
// Swap // to change message and change packet size

Which did you end up using @jp-drain-sol ?

The top one. I will try the ADV perhaps today. I am also trying a message 1007 inject as well.

Just as a note, as I do each test, I will edit this post with the test results. Also, powering down both units between tests.

  1. The first setup as you stated above, Dev 26.1 in order to inject 1008 I had to enable message 1006 for the Nano to inject 1008. I only had 1006/1004/1012 enabled at .5/2/2 Hz respectively

The unit would go fix (GPS only) but would not maintain it. Correction age would climb and it would drop to DGPS for about 10 seconds then go fixed again. About the longest it stayed fixed was 1 minute.

Test 2, message 1008/1074/1084 same Hz as above.

Unit stayed DGPS would not go fixed. Let it run for 5 minutes to hopefully log some helpful data on my rover

1 Like