With GPS you are able to know where you are, where you're going, and how to get there anywhere on Earth within 30 seconds. This means the higher the accuracy the better! GPS Real Time Kinematics (RTK) has mastered dialing in the accuracy on their GPS modules to 25mm, and that's why we had to put it on this board!
The SparkFun GPS-RTK Board is a powerful breakout board for the NEO-M8P-2 module from u-blox. The NEO-M8P-2 is a high accuracy module for GNSS and GPS location solutions including RTK. With this board, you will be able to know where you (or any object) are within one inch! The NEO-M8P-2 is unique in that it is capable of both rover and base station operations. Utilizing our handy Qwiic system, no soldering is required to connect it to the rest of your system. However, we still have broken out 0.1"-spaced pins in case you prefer to use a breadboard.
We've even included a rechargable backup battery to keep the latest module configuration and satellite data available for up to two weeks. This battery helps 'warm-start' the module decreasing the time-to-first-fix dramatically. This module features a survey-in mode allowing the module to become a base station and produce RTCM 3.x correction data (as opposed to the previous version of the module which is not able to produce RTCM data).
The number of configuration options of the NEO-M8P-2 is incredible! Geofencing, variable I2C address, variable update rates, even the high precision RTK solution can be increased to 4Hz. The GPS-RTK even has four communications ports: USB (which enumerates as a COM port), UART (with 3.3V TTL), I2C (via the two Qwiic connnectors or broken out pins), and SPI.
We've also written an Arduino library for u-blox modules to make reading and controlling the GPS-RTK over our Qwiic Connect System easy.
Note: The I2C address of the NEO-M8P-2 is 0x42 and is software configurable. A multiplexer/Mux is required to communicate to multiple NEO-M8P-2 sensors on a single bus. If you need to use more than one NEO-M8P-2 sensor consider using the Qwiic Mux Breakout.
The SparkFun Qwiic Connect System is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.
The NEO-M8P-2 GPS Breakout can also be automatically detected, scanned, configured, and logged using the OpenLog Artemis datalogger system. No programming, soldering, or setup required!
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
Based on 6 ratings:
4 of 4 found this helpful:
I have used u-blox chips for years for surveying purposes. I collect hours of GPS data at a single, fixed position using a good, magnetic-base GPS antenna on a 100 mm ground plane. I then download the same time period of GPS data from a nearby NGS CORS station 6 km away to act as my fixed-position base. The open-source RTKLIB package usually combines these measurements to place my antenna within a 1 cm circle of error. Recently two, consecutive, 24-hour measurements from a fixed antenna on my roof fell within 2 mm of each other.
Previously I had used evaluation kits from u-blox with their earlier chips. I had often run into frustrating software hang-ups with the u-blox u-center control software running on Windows 10 laptop over long integrations. I decided to switch to a real-time Arduino/Sparkfun system with the M8P. The combination of the u-blox software on Windows 10 with the Sparkfun GPS-RTK board has already proven to be a much more reliable system. I'm still building the Arduino control/logging system to eliminate the need for a laptop on site.
1 of 1 found this helpful:
I got a pair of these boards and am using them in my lab, along with a couple Blackboards and LCDs. I set up my own RTCM3 base station, as I don't have one nearby to leverage.
Nathan Seidle's Ublox library works great! I would like to see a couple of things added to the Library, or perhaps a discussion on how to do these two things: 1) How to add a command to the Library, for example, how to command the base station data rate from 1Hz to 5Hz. 2) How to pull other parameters from the M8P, for example, the current 3D accuracy parameter.
Any hints on these is welcome! I'm slogging through the 409-page Protocol Spec, but not seeing how to make the mods to the Library.
Great product! Don
1 of 1 found this helpful:
No other board delivers this accuracy and precision, looking firward to a potential ZED-F9P successor!
1 of 1 found this helpful:
I got this board hooked up to a lcd and BlackBoard using Qwiic and ublox / ucenter software on my Mac - via parallels running Windows 10.
However I am puzzeled. People talk about using pairs. A base and a rover. Ok. But - I use a single receiver to define the absolute position of a dronereference plate A on the ground. Then take the system to the next calibration point B, take its position, go to point C and so on. Later, when starting to proces the data, I use the plates positions info. Is it correct to assume that the positioning is within 2.5 cm for each?
1 of 1 found this helpful:
Convinced of this little breakout 'devil' I purchased the NEO-M8P-2 board. Looking forward to use it with a Raspberry Pi and Python programming language for a flight performance project I am now stuck with it as the support is only given for an Arduino, programmed in C++. There is indeed no other software support from your side other than C++. Therefor it turns into a sitting duck instead of being used in aircraft. It would be of great help to get at least the commands for this ublox chip to configure it for a 5Hz data transfer of NMEA GGA sentences via I2C port. With this infos we could program the chip in Python and for a Raspberry Pi. Sifting through the 421-page Protocol Spec of uBlox does not provide a practical insight how to send commands and retrieve data from the chip. So at the moment it is a useless piece of silicon. A first contact with your tech support on the above mentioned subject was not very encouraging.
With regards Hans Kandlbauer AeroScience GmbH Lufingen Switzerland
That is globally an amazing tech, and a good work from Sparkfun as usual. Nevertheless, on 2 ordered units, one is behaving badly, because it quickly overheats and it gets impossible to touch it with fingers, so much it's hot. Heats comes straight from the u-blox module. It should be told if it is a known issue, and if it's possible to fix it.
In my case, I started testing it long time after purchase, and it is unfortunately out of warranty, so RMA was refused by Sparkfun.
My advice: test them as soon as you receive it and let them run for a while, to make sure it does not heat.
Looking for answers to technical questions?
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Log in or register to post comments.
Looks like it's time to upgrade the GPS Buying Guide. https://www.sparkfun.com/pages/GPS_Guide
I need a high precision GPS to be installed on a vehicle in Brazil, connected to a Linux industrial computer that runs inside the vehicle over USB, to receive GPS data. Does anyone know if this module could be used with this solution, with the GPS/GNSS Magnetic Mount Antenna - 3m (SMA)?
If not, is there any other product that could be used?
Thank you so much.
Hi there, it sounds like you are looking for technical assistance. Please use the link in the banner above, to get started with posting a topic in our forums. Our technical support team will do their best to assist you.
Thanks for your answer. Actually it is not a technical assistance, seen I don't yet purchased the module, but a product recommendation. I was looking if someone has used this module with a Linux computer, instead of a RPi or Arduino board, for realtime data acquisition.
But I'll look in the forum anyway. Thank you.
This is an amazing module. I used it while it was still an experimental board, but was absolutely amazed with it. I will note one thing for those hoping to use it with a Pi. This module uses i2c clock stretching which the Pi's driver does not support. If you want to use a Pi, use SPI.
That is interesting... how were you interfacing with the module (i.e. i2ctools or python, versions of smbus or python, etc.) If you use the link in the banner above, to get started with posting a topic in our forums... I'll look into getting this working with a Raspberry Pi when I have a chance (in my free time).
I believe I should be able to use this with UBlox ROS (http://wiki.ros.org/ublox). Can anyone please confirm if this is correct?
Yes. ROS uses the ubx binary protocol which the RTK2 uses.
Thanks Nate! And do you know if you can send RTCM corrections via USB from a PC? I couldn't see this directly mentioned but I assume so.
I came back to check on availability after missing out on the SparkX model and, like Chippey, was surprised to see a 33% price hike for the "Sparkfun" version. Other than different color for the PCB there seems to be no difference. Seeing all the design work was already done for the SparkX version, there should have been little development cost for the Sparkfun unit. I would like to have people like Timmey as customers; just keep jacking up the price and they come back for more.
Chippey, rather than make your own, vote with your feet and get some modules from Ublox at https://www.u-blox.com/en/product/c94-m8p.
For the same price as 2 Sparkfun boards, each with only the GPS module, uBlox give you: • 2 application boards (both with comms radios built in) • 2 external UHF antennas • 2 external active GNSS antennas • 2 antenna ground planes • 2 micro-USB cables
Much better deal.
The huge price is because of the accuracy ?
Yes, plus the fact that the module used in this board is very expensive. If you're just looking for a regular GPS, our GP-20U7 works great and is less than $20.
But wasn't this same module and breakout board $149.95 just a few weeks ago? (As seen here: https://web.archive.org/web/20180916124937/https://www.sparkfun.com/ ). And surely now that this isn't listed as a SparkX product any more means you're buying the modules in larger volume, in which case shouldn't the module unit price go down? The $50 price jump seems unwarranted, and especially huge if you're going for a RTK solution since you need two of them which equates to a $100 leap in price.
So, go design your own board if you're not happy with the price. There's no magic here and the part is readily available. RTK-GPS was $10 - $20k a few years ago.
The SparkX process is different in many ways other than quantity of boards built. They also have a lot less constraints on what they can and can't do and that can be reflected in their pricing. For example all SparkFun boards come fully tested with full documentation and live technical support while SparkX boards don't come with any guarantee. When doing pricing we calculate what pricing should be and then compare it to SparkX and try to find a happy medium. Sometimes pricing goes down, sometimes it goes up, but from what I can tell $200 is still a pretty good price for an RTK GPS.