C94 m8p rtk

I bought the C94 M8p RTK module. Is this module not compatible with Pixhawk?
I can not understand the difference with Neo M8p very much.
Please help.

the C94 is an engineering development kit. Did you buy 2 of them to set up as a base and rover RTK system? It is not a “plug and play” GPS module like many of the ones out there designed for common open source UAV hardware. It is certainly possible to get the C94 to work with Pixhawk (and pixracer and other boards), but you have to read the C94 documentation to figure out the correct wiring. PX4 will auto-configure the M8P once correctly wired up, but if you want to manually set things up you’ll probably want to use u-center. Probably you’ve already read the basic PX4 RTK documentation here? https://docs.px4.io/en/advanced_features/rtk-gps.html

Thank you.
Yes, I bought C94 to set up as a base and rover RTK system.
I was convinced that it would be better to connect Vcc, GND, Tx, Rx of C94’s J8 connector to Pixhawk 's GPS port.
I read this documentation.
I will read the usage of U-center and C94 document and try it.

Hello everyone! - this is my first post… I hope it’s not confusing :wink:

i’m working on the same problem!

For this configuration I turned off the radios (pull J8.20 to 3.3V to turn the radio off - don’t use a jumper wire to J8.1 because this is battery voltage!). QGroundControl detects the base if connected - the survey in process starts! No problem so far. (I use a standard 433MHz radio for telemetry, including the RTCM-mavlink stream).

I connected the Rover to the GPS1 port of the pixhawk via J8.9 and J8.10 (C94 user guide page 30).
Pixhawk detects the GPS, but I think that there is something wrong in the configuration of the M8P. I think that pixhawk tries to configure any GPS device (f.ex sets the baudrate to 38400) but I don’t know what’s wrong in combination with the C94…

Has to be done any special initial configuration on the ublox chip to fit pixhawk’s configuration sequence?

Thank you!

Thank you.It will be of great help.
This is not a reply to your question, I’m sorry.

I have a one question.
I had to turn off the radio with your base station settings, but is RTK-GPS possible with the radio turned off?


I tried to set up the “standard configuration”, which means that the base station is connected via USB to your PC and the 2nd board (rover) via UART to the GPS port. In this case, QGroundControl will detect the base station, starts a survey-in procedure and receives the RTCM data needed at the rover.
Then QGC transmits these RTCM data as MAVlink messages via your telemetry link (f.ex telemetry) to your pixhawk (TELEM port). So this data link is the only one you have in this configuration!
At the end of this RTCM-data-chain your pixhawk will forward the RTCM data via the GPS port to your rover. That’s all…

There are 2 things why you have to turn off the onboard radio of your C94-M8P modules. First because they are not needed :wink:
But furthermore, you have this one UART1 on C94 modules, which is connectet to onboard radio by default. If you want to use this connection via J8 pin header, you have to make sure, that nothing than you speaks with this port!

This configuration insures, that QCG and your pixhawk know what they have to do. It’s a plug and play solution.

PS: There is one funny fact i can’t understand so far - although the QCG and the pixhawk do the configuration, one of my boards didn’t want to be the rover (independent on firmware and initial config). So i used that one as the base and the other one as rover - so please cross check this!
A short reply would be great!

Thank you.
I can understand why I have to turn off the onboard redio.
I tried to set up the standard configuration but I can not let Pixhawk recognize GPS.
The base station is connected via USB to my PC and J8.20 to 3.3V and J8.2(GND) to GND.
And I set the RTCM3 message as per C94_UserGuide(pp.15).
Base station’s protocol in(uart1) is “on” and protocol out(uart1) is “RTCM3”.
The rover station is connected Pixhawk’s GPS1 port via J8.9 and J8.10. And J8.20 to 3.3V and J8.2 to GND.
Rover’s protocol in is “RTCM3” and protocol out is “ubx”. Baudrate is 19200(base and rover).
For communication between QGC and Pixhawk, I use xbee Pro S2B.

In QGC, “No GPS lock for vehicle” comes out, but when I open the console screen, GPS data seems to be acquired.

Thank you very much.

The wiring seems OK. The last point might be the configuration of the C94 boards. You don’t need this special configuration from the user-guide! Just make sure that the pixhawk has the option to comnunicate with the rover.
I flashed the rover firmware on my board (HPG 1.40) and the only thing I changed is the UART1 connection. So if you set the in AND out protocol to UBX + NMEA + RTCM3 everthing should be fine!

Thank you eggchr.
I was able to make Pixhawk recognize GPS and do RTK (GPS Lock = 6).
I have just started studying, so your advice has become very helpful.
I think there are still some problems, but I’m looking forward to the day the drone fly in the sky.

No problem! I’m happy that I could help you!
Did you interchange the C94-modules? I mean, is it possible to use both as rover? As I mentioned, one of my boards is not willing to be the rover…

I can interchange the C94-modules.
I tried that board A is used as a base and board B is used as a rover. And next, board B is used as a base and board A is used as a rover.
I was able to do RTK positioning in either case.
Apart from changing the wiring, no special setting is made.

Is this the intention of your question is this?

yes that’s what i meant, thank you!

Hi jjj,

If you still haven’t found a way to connect M8P to your autopilot, you will be interested in this new evaluation board compatible with Pixhawk: https://www.kickstarter.com/projects/simplertk2b/simplertk2b-the-first-multiband-rtk-shield-based-o

I was directed here from the Ardupilot forum. In case it is of interest, I have the C94-M8P eval kit in use with my autonomous mower and have been using it for several months. I disabled the onboard radios and connected a Adafruit Feather M0 LoRa boards to communicate between the Base and Rover GPS. This keeps the RTCM communication independent of MAVlink and allows the device to operate with no ground station. I have not fully documented my method but do describe it to some degree here:

I also posted the code on github with a Readme that provides some info:

Lastly, I have a good bit of video and discussion on my Youtube channel including a 2-part overview of the entire project. However, the comments there are BEFORE I implemented the LoRa method for RTCM: https://www.youtube.com/playlist?list=PLIsYv3gzZOt9N9yZmpI_WYiMaBQ6HazOG

I hope this may help someone! Good luck! I’ll be glad to help anyway I can. I have been helped by so many others!