Integration of ublox M8P RTK in Ardupilot

Hi all,

I want to start a discussion about the integration of ublox M8P RTK in Ardupilot.
There are more and more M8P modules showing up which can be used as a replacement for the common M8N modules:

However, if there is no additional data link between base and rover RTK cannot be used so far. Hence, my question is if such a support is already under development? And what will be required in addition? I guess apart from the Ardupilot firmware the GCS have to support it as well to allow communication between the base and the rover. This would for example require parallel bluetooth and USB connections if for example Tower is used.

Best regards,

Hi Thorsten,

More work for RTK is being done, but ArduPilot already supports (properly) the GPS_RTCM_DATA MAVLink message, it is a matter of GCS now supporting sending it, which I’m sure will be done in the coming weeks.

Hi Francisco,

thanks for the fast reply! Sounds good!

I opened an Issue/Feature Request for Tower:

Kind regards,

I have a ublox M8P in the form of a C94-M8P RTK application board package. I am trying to add it as a second GPS to my Pixhawk. (PX4 & Rover v3.1.1)

I have the ublox base and rover configured, the correct lights showing its working and I can connect to my computer using the ublox configuration software and see its working. I made a cable from the ublox rover USB port to the Serial4/5 port on the Pixhawk and the ublox rover powers up and leds are correct, however I don’t see any sign of the second GPS on the Status screen in Mission Planner 1.3.44 build 1.1.6240.11550. Then I reversed the TX & Rx in case I did not read the pinout correctly. I thought it was working (late at night) but now I cant see the second GPS in the status screen.

Any help from someone who has tried this appreciated. I have read on forums a while ago about people trialing this Appboard and thats why I purchased one last year. Have time to try it now…

Thanks, Phil

this is what i’m trying, using two m8p module, as image(1)

PX4 connect to Mission Planner via FTDI( ttl to usb), this for gps inject testing only, to avoid data throughput issue

it’s seem mission planner can receiver rtcm3 from base m8p(1005, 1077, 1087…), (as image)
also i have follow the instruction to setup the PX4(gps_inject: send to all)(gps type as ublox)

during the connection, it’s looked nothing happen on Rover M8P, there is no data be sent from tx of gps port

mission planner version: 1.3.44
ArduCopter version: 3.4.5

please help, thanks

Not outroom? I think you should test it outside!

Thanks for reply.

In real case, i was testing outside, this image is just want to show my setup.

Has anyone had any luck getting their setup to work? Im doing some research and setup at work, trying to get the c94-m8p ublox rtk system set to go into a drone with a pixhawk, but i had a very confusing conversation with the gentleman at ublox about trying to take the rover and, after recieving correction from the base, output it again so that it would act like a gps for the pixhawk.

Thank You In Advance

Oxinarf, I was wondering if you could point me to information about setting a ublox m8p rtk system for a pixhawk gps? Ive gotten my rtk kit to talk to each other, but Im not 100% sure about how to get it setup to pipe location data into the pixhawk.

Thank You

What firmware are you using ?
Are you using Mission Planner ?
Is one of the module base type ?

Lucamax, Id have to double check the firmware type, but from talking to someone at ublox, they said that the base sends information to the rover, but you cant pull it from the rover into another device without some diy soldering to pins and such. I was just trying to find out what others have done to integrate it.

Arducopter 3.4.5 will never initialize correctly Ublox M8P, so it will never work, you need to use 3.5 beta firmware.

Ah, thats a bummer. My Employer isnt all too keen on the Beta firmware, but thank you for that information!


Maybe I am getting out of the subject but I tried to connect a Tiny RTK ublox M8P to QGroungControl running on Android.

I just used USB and QGroundControl recognized something was plugged in but I received a ‘Internal Error’ in the console.

Before the test I tried to figure out if some drivers were needed to perform the RTK connection on Android. I found a very obscure issue from ublox and their infamous Android GNSS drives.

So on QGroundControl PC version there is not issue with the M8P RTK. It is a clean plug&play.

There is a way to have similar plug and play experience on Android with the M8P RTK and QGroundControl.


1 Like

Hi Phil
i’ m trying exactly the same thing, but with no success up to now! Did you finally connect the pixhawk to the C94-M8P? I have connected as follows: first I tryed to connect it to the Serial3 (GPS) port: GND (PX)–>GND(C94), Vcc (PX)–>Vcc(C94), Rx (pin 3 of GPS PX) --> pin 10 (Tx) of J8 of C94 and Tx (pin 2 of GPS PX) --> pin 9 (Rx) of J8 of C94. Is this O.K.? Why it is not recognized by the PX? Then I tryed to other ports like Serial2 and Serial4 but nothing! I have set up the correct BAUD. Did you make any progress? Are needed any changes in the MP parameters? Can you please reply me at ? Thanking you in advance

Hi Loannis, Its been a while and I have not been working on the ublox as I could not get any replies to my support requests from them. I was going to try a serial to USB converter that I have that I use to access a curtis motor speed controller but have not done it yet. I think it would would as the rover has always worked with a laptop and outputs a compatible protocol on the USB port, it just does not on the COM port. It was mentioned above that a jumper is required on the board to act as a rover and send out the GPS info and this sound like what I saw. If I knew what jumper to solder I would try that. Kind regards, Phil

Hi Phil
thank you for your answer. If I connect a serial to USB between J8 of C94 and my computer I can see the NMEA data coming out in the format $GNGGA, …, $GNRMC,… and so on … with the suitable configuration I can access the data in the above form for both Base and Rover (to my PC). The problem is that the PX does not “recognize” them …

@Ioannis and @Phil I have a C94-M8P working with my Pixhawk. It too several different tries but I feel very good about my current set up. I plan to give exact details and will gladly share the code I wrote for the Adafruit Feather M0 LoRa modules I am using. It may be a week or so before I get around to it, however. But, you can get some idea from watching the overview videos I posted on Youtube. A LOT has changed since I recorded them, however, but some of the basic ideas are presented there. I have a lot of things going on and haven’t documented like I want to so that others can benefit from may failures and successes. All of the videos on my YouTube channel right now are about my autonomous mower project, but the two “Overview” ones might shed some light on your issues. I hope I can get more info on the RKT done setup soon. My channel:

I watched the 2 overview videos as I could not remember exactly what stage I was in at the time. I see that I was still trying to use the built-in 915 MHz radios. I gave that up shortly after and switched to LoRa. It took a good long time to get the code just right in the Adafruit Feathers but I now am having very solid RTK fixed 99% of the time and with a good distance between Base and Rover.

Hi Kenny - very impressive work on integrating all of these technologies into your mower project! I’m working on an RTK solution using the C94-M8P, a Pixhawk and telemetry radios. Would you be willing to share the Feather M0 LoRa code that you wrote? Sharing a github link would be great or if you could somehow post or send the code that would be greatly appreciated.

I will be glad to. I’ll probably put it on github and I should be able to do that tomorrow. I’ll post a link here.