Raw data from ublox GPS recievers

For the Sodaq boards that make use of the uBLOX GPS receiver (M8Q), is it possible to get the raw satellite data instead of the NMEA sentences. The uBLOX has a raw data output file in .ubx format (binary) which can then be converted to the rinex file format for post processing.

Any help is much appreciated.


Hi @katesfb,

Our library only support NMEA.
We don’t have any plans on updating the library at this moment to let it output raw .ubx data.

Our library is available on github

ublox information

Feel free to make changes/updates and create merge requests for this library.

Kind regards,

Hi Jan,
Thanks for the reply.

If the standard AT commands were used directly (not using the library) could the ublox unit be configured to receive the ubx binary data or even the RTCM streamed data.

We have an upcoming project that would capture the ubx data then convert it externally to the Rinex format for post processing in RTKLIB. However we also want o make use of an accelerometer and a magnetometer and one of the Sodaq boards has all this on it so makes sense to use it instead of having to source the units separately.

Any help is much appreciated.


Does anybody have any thoughts on this? Apparently it is possible to do this using a ublox breakout board and passing a command that puts the ublox into binary mode where it outputs the raw data.

The upcoming GPS tracking project we are undertaking requires higher GPS resolution than can be obtained from the standard NMEA output (<1m) this however can be obtained by post processing the raw output.

Another approach would be to use the NMEA output in conjunction with the accelerometer and magnetometer data (that is available on the sodaq one) to improve the accuracy between GPS reads.

Any help is much appreciated.


I’ve created a UART -> i2c passthrough sketch. I’ve tested it with the SodaqOne and using the Ublox u-center tool.It should help you in testing the capabilities of a given Ublox module.

(Note: The sketch also supports modules which are connected to a board via a UART, although I haven’t yet tested it in this mode.)

Hi Gabriel,
Thanks for the reply.

Thanks for the sketch - i will have a play with it and let you know how i get on.


HI Gabriel,
Code works well. Thanks for that.
i also have a quick related question; The unit will be essentially used as a tracking device that will operate in two modes;

  1. burst mode where it will will log binary (ubx) data for a set interval and then sleep then wake up using RTC and repeat
  2. movement mode where it will sleep until movement is detected.

I have looked at a few sleep examples but was just looking for something simple.