Integration of ublox M8P RTK in Ardupilot

@srr4321 - Steve, I have not forgotten about the Feather M0 software. I did a little clean up on the code and want to load it to be sure it still runs fine before I put it on GitHub. I have had trouble finding the time to do that but will soon. Check back!

Kenny - thanks for the update. I think we all wish we had more time in the day to work on these hobby projects! I’ll check back.

@srr4321 I have uploaded the files to
I hope they are useful for you. Be sure to read the readme or the comments at the top of code about disabling the battery charging circuit, if you need to do that, at least.

I will be glad to help further if you need it. Please let me know how it goes if you are able to use the code.

I hope to provide more info on my exact setup soon on my YouTube channel: The overview videos there were done before I switched to LoRa. I do give some information in the later videos, but not a proper explanation.

Thank you Kenny! Your code is very clean and well documented - should be very helpful. I’ll report back as I make progress.

Here is a link from DroneCode forum that explains how to make C94 m8P work by disabling the data radio on the board and re-purposing the radios com port for connecting the GPS board to Pixhawk. Then need to use the RTCM-mavlink stream to send corrections from the base to rover instead of the supplied data radio.

Thanks. That is very similar to what I did, except I added a LoRa radio module to still send the correction information independent of MAVlink, so I don’t tie up a computer. The base GPS talks directly to the rover GPS essentially. I posted over there in case my experience will help someone there. I had never been on that forum.

I finally have this working as originally intended. I have the Rover and Base Station communicating via the supplied radios and the Rover sending NEMA messages via the J8 connector. I found that different versions of the board have different pins on J8. Just need to use the correct U-Blox manual for the board version and find the V and ground pin (there are two sets of power supply pins, one set only works when using the battery input and the other set only works when powered via USB cable) as well as the TXD_GNSS pin to send to the TTL 3.3v device that you want to send the data to. I have used a TTL level converter, a TTL 5v to RS-232 converter and a RS-232 bluetooth dongle to use the NEMA messages from the Rover. The TTL level converter can also connect to the Pixhawk GPS input and be configured as NEMA GPS. The trick was using the TXD_GNSS pin as it has the data before it is messed up (AND gated / binary addition) by the radio link. The info I needed was on the U-Blox support forum, including a nice picture of the 3 pins from J8 connected to a TTL 3.3v to Bluetooth module.

1 Like

I will be interested to know if you can make it work directly with Ardupilot on the pixhawk. I found that since the pixhawk cannot transmit to the GPS because the radio is using that pin to receive RTCM from the Base GPS, that I had to have the GPS in Ublox mode which is what Ardupilot defaults to. And it defaults to 115.2Kbaud. The onboard radios, which share the UART, can’t work that high.

That was what I “found” but, I could have been mistaken.

Congratulations are in order for what you have accomplished! It took me a lot of trial and error and reading, and yes, the wrong manuals are easy to mislead! I know how it is!

Please keep us posted!