Syncing RTCM3 Data with PPS signal


We have a Reach RS2 which will be connected via RS232 (UART) 230400 Baud to a MCU Board which is capable to log the serial data together with the PPS flanks with an internal timestamp.

According to the Emlid support the only way to get the RAW receiver signal via the RS232 interface is using the RTCM3 Format in “Base Mode”.

The RTCM3 Data can be converted into the RINEX Format for a post correction.


If the “Update rate” under “RTK settings” it set to e.g. 5 Hz the RTCM3 Data is received 5 times per second. What is the best way to select the correct timestamp out of the RTCM3 data packets for the “last” PPS flank?

Or is it possible to receive an additional 1 Hz NMEA signal ($GPRMC) in parallel which can be used to get the UTC time for the last PPS flank.


Hi @lche,

Thanks for your patience!

Let me answer your questions below.

Let me explain this a bit more. Reach RS2 can record the raw data log, base correction log and position log. The base correction log contains the information that the rover receives from the base station.

However, currently, it’s not possible to output this data in real-time. You can download the full base correction log only after the survey.

On the latest v2.25.2 dev firmware version, you can choose to output only the GPRMS NMEA message at 1 Hz. However, the dev versions allow you to test the new features early so we don’t recommend using them during important fieldwork.

To choose this message on the stable version v2.24.2, you will need to output the position to a third-party board that will parse it and provide you with the necessary message only.

Also, I just wanted to add that you can share the corrections from the unit in RTCM3 format via Serial connection. However, such setup doesn’t allow you to have the NAV files for the post-processing as the RTCM3 file doesn’t contain such information.

Hi Polina
Thank you for your answers.
In the meantime I was able to do some tests.
I was able to get the timestamp (tow) from the RTCM3 messages to sync it with the PPS signal.
But as you mentioned, the biggest problem for our application is to get the NAV data via RS232. It can not be generated based on RTCM3 messages (1006, 1074, 1084, 1094, 1124)

Is there any way to receive the raw data stream via RS232 which can be used for the post -processing?

Is it possible in your use case to get the NAV files from another source? NAV files can be downloaded from
Or could be downloaded from a different base station that views the same satellites over a similar period.

Hi @lche,

Enabling the RTCM3 stream through the RS-232 is the only way to get the raw data from the receiver in real-time. I believe @Africawaterdoc 's suggestion might be helpful for you. We support downloading the raw data log after the survey only.

Hi all
in the meantime we were able to process a binary RTCM3 serial stream log with a post correction service provider to receive the accurate trajectory of the rover.
Investigations have shown that it should be possible to use the MSM4 header TOW timestamps to sync the PPS signal with the satellite time.

1 Like

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.