About a year or so ago, I bought two SparkFun GPS-RTK2 Boards- ZED-F9P (Qwiic) with the expectation that I could easily hardwire them together to make a satellite compass. The idea was that the RTMC data would be transmitted from the base to the rover via the Qwiic (I2C) cable, and the accurate position of the rover GPS antenna relative to the base antenna would then allow me to compute platform orientation.
Every indication I’ve seen is that this should be a fairly routine and obvious thing to do, but to date, I’ve been unable to get the rover to see or use the RTMC data via I2C, nor can I be completely certain that it’s even being sent. I put them aside for a few months (chafing a bit at the $440 combined cost for something I couldn’t make work!), and now I’d like to give it another go.
I’ve picked through the U-Blox documentation and used their U-Center software, but the docs are just cryptic enough that I can’t be certain I’m configuring the two units correctly. Understandable documentation for GPS newbies like me seems hard to find for this kind of application.
It would be wonderful if someone who understands how to set this up could give me a concise and complete checklist of configuration options. (I did at least know enough to give the two units different I2C addresses.)
From what I’ve found, it seems that the RTMC packets can’t be sent over I2C without some special configuration. Since this isn’t covered in our tutorials it is outside of our available support. I would suggest that you should reach out through the Ublox forums to find more insight: https://portal.u-blox.com/s/
gpetty:
About a year or so ago, I bought two SparkFun GPS-RTK2 Boards- ZED-F9P (Qwiic) with the expectation that I could easily hardwire them together to make a satellite compass. The idea was that the RTMC data would be transmitted from the base to the rover via the Qwiic (I2C) cable, and the accurate position of the rover GPS antenna relative to the base antenna would then allow me to compute platform orientation.
Every indication I’ve seen is that this should be a fairly routine and obvious thing to do, but to date, I’ve been unable to get the rover to see or use the RTMC data via I2C, nor can I be completely certain that it’s even being sent. I put them aside for a few months (chafing a bit at the $440 combined cost for something I couldn’t make work!), and now I’d like to give it another go.
I’ve picked through the U-Blox documentation and used their U-Center software, but the docs are just cryptic enough that I can’t be certain I’m configuring the two units correctly. Understandable documentation for GPS newbies like me seems hard to find for this kind of application.
It would be wonderful if someone who understands how to set this up could give me a concise and complete checklist of configuration options. (I did at least know enough to give the two units different I2C addresses.)
Thanks!
gpetty, Congratulations on your quest it is one I am very interested in also. I have built an Arduino based autopilot for a sailboat. (https://www.youtube.com/watch?v=-nA6wo9PXls) Its performance is primarily dictated by the compass performance. Currently it uses an IMU and I have tested a lot. Trouble with all of them is their sensitivity to pitch and roll with 10 + degree errors common. In a paper published in Aug 2020 several commercial GPS compasses are analyzed. The Advanced Navigation device has an accuracy of 0.2 deg. That device uses a 9DOF IMU and two u-blox M8T GPS units.
https://www.youtube.com/watch?v=g92GboiOkeQ&t=1412s (about moving base applications more generally – not heading – but a lot of detailed configuration information for the SparkFun ZED F9P; also mentions other online resources).
I’m hopeful that the above resources, most or all of which didn’t exist when I first tried this, will help me get to the finish line.