Receive RTK Fix directly (on application restart)


I am using the Drotek Tiny RTK GPS (base/rover). My question is about how to prevent “survey-in status” and “configuration” of chip from happening again, when the application using it crashes and restarts.

Situation is as follows:

  1. Application starts
  2. Configure ublox chip
  3. Chip starts Survey-In
  4. Stream RTCMs
  5. I am in RTK Fixed mode (GREAT!)

BUT, software application using it crashes/restarts (for some unexpected reason), and power with module is ON. It still takes 30-50 minutes to get back RTK fixed, as it does all the above steps 1) to 5) in sequence again. How can I prevent it by:

  1. Check if the survey-In was finished (Power to chip is always ON even if application using it crashes) and directly go to RTK fixed streaming?

Is it OK to configure the ublox again when the application restarts for the given baudrate, while still being able to check if RTK fixed is received.

Look forward to your response.



What application are you using?

If power is always on you can potentially recover without starting the survey-in process again and again. Do you know whether the RTCM stream isinterrupted when your application crashes?

Thanks Kevin, for your response.

Yes, the RTCM stream is interrupted when the application restarts (because we configure the GPS again (With baudrate settings, etc - the code in ubx.cpp as used in Pixhawk/PX4 is used).

The RTK on the base station is used for getting its accurate position (FIX) which our robot uses to find the base station location precisely. When the application terminates, the ublox is re-configured (on the base station side - as the same code is traversed i.e. configure() -> survey-in ->RTCM stream is repeated). But to get the FIX it takes a long time.

What I am looking for is:

  1. Skip the ublox configuration and Survey-in when its already done (remember, the RTK chip power is always on, even if the local application terminates).
  2. If 1) is accomplished, I am sure, it will be back to FIX as soon as the application is restarted (within seconds).

What are the settings precisely for this, either in ublox center or in code. I looked the datasheet but don’t get the exact setting to check for 1).

Look forward to your answers.


Hi Kevin,

I checked thoroughly again, a part of it was power issue on the hardware which I resolved. However, the one that remains to be resolved is:

Case 1:

  1. The RTK chip is doing a Survey-In and the application restarts,
  2. The RTK (ublox) does a ‘Restart Survey-In()’ from where it left off. As Expected! - No issues.

BUT if,

Case 2:

  1. If the RTK is streaming RTCM and the application restarts
  2. The RTK (ublox) does a ‘Restart Survey-In()’ for 180s before RTCM streaming again. So there is a lag of 3 minutes. I do not want to restart Survey-In since it was already RTCM streaming earlier.

Looks like, for the 2nd case, I need to find out on how to disable Survey-in() when it was already successfully finished and the RTCM stream was already position accurate before. Any help is appreciated.


If you are using Mission Planner , you can save in the Inject window the position that you acquired during survey , then set up the system to output that saved position and not perform the survey.
In that way you will disable the survey in process.