uBlox ZED-F9P support

Hey there,

The documentation specifies that the only uBlox receiver that’s supported is the M8 - series. Although, I’m reading the source code in ubx.cpp and it looks like it supports UBX protocol version 27.11. So my question is - does PX4 have support for the ZED-F9P RTK GPS module?

My second question is: if I connect two RTK GPS modules, will RTCM correction data be piped into both of them or only the main gps?


Hi, I’m flying multiple F9P-based RTK Modules by Ardusimple in a base-multi rover configuration. It works like a charm.

Okay awesome, and do you know if PX4 will pipe RTCM data to both the main and secondary GPS modules? Or just the main?


@dazKind sounds like you have had more success with Ardusimple receivers than me. i am having problems where QGC does not recognize my Ardusimple simpleRTK2Blite receivers.

I can configure them in u-center with Ardusimple configuration files.

I have the block check to auto-connect and then have it listed in the NMEA GPS with its comm port.

Windows is using a FTDI ver. driver and lists it as USB Serial Port (COMX)

Any tricks to getting QGC to detect them?

My default setup is to run the base station standalone on a tripod (https://twitter.com/dazKind/status/1243153797620383746) without connecting it to QGC. The rover/drones then just sync to that via long range xbees uplinks which is part of the default basestation/rover config by ardusimple. Once connecting QGC to the drone’s telemetry I can see the RTK info/link in their GPS status. The simplertk boards automatically send the right gps mavlink messages to PX4. One further optimization is to change PX4’s EKF2_HGT_MODE to GPS in order for the high-res RTK altitude to be used during flight.

I just did a quick test with one of my simplertk2b boards(no antennas), connecting it via USB to QGC. QGC seems to detect it out of the box:


So in case of the simplertk2blite boards, given they have less available ports, you might need to review the configs and see what kind of messages are being sent and maybe change the config.

I think I see the problem I am having. When I connect the RTK modem to my laptop, Mavlink messages aren’t being packaged and sent over my telemetry link (Bluetooth to Dragonlink to Pixhawk).

Your setup is using a separate telemetry link to send GPS_RTCM messages directly to the Rover GPS, then the Pixhawk notices the onboard GPS going into RTK mode. That causes the RTK icon to appear.

The AutoConnect to RTK GPS isn’t really taking the NMEA GPS device configuring it for RTK mode and sending GPS_RTCM Mavlink messages.

Though the second part of your message seems to indicate, without connecting to the Rover, QGC should see the ArduSimple and the RTK icon should appear. If that is the case, what driver is your computer using when you plug in the board.

I am thinking the driver may be the issue. QGroundControl doens’t see the GPS as shown in the message log. Everything worked in u-center. Could this be that since it is connected through the USB port on the Xbee board, QGC only sees that and not the actual GPS board?


Yeah, it might be that you see the xbee interface.

The simplertk2b board comes with multiple ports. I tested with the one indicated below. That one will show up as COM device, driver details also shown below.


Is there a good guide on how to configure ZED-F9P to output raw GPS messages to PX4 including all constellations and L1/L2 for PPK (not RTK) processing? I was able to do it in Pixhawk1 but it does not support F9P well in terms of dual channel.
I was hoping that in PX4 I can get all the constellations in both channels out using the RAWX message (similar to what is done on pixhawk1) and get it all in the PX4 log.

Tnx !