SparkFun GPS-RTK2 Board - ZED-F9P (Qwiic)

Added to your shopping cart

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 to just millimeters, and that's why we had to put it on this board!

The SparkFun GPS-RTK2 raises the bar for high-precision GPS and is the latest in a line of powerful RTK boards featuring the ZED-F9P module from u-blox. The ZED-F9P is a top-of-the-line module for high accuracy GNSS and GPS location solutions including RTK that is capable of 10mm, three-dimensional accuracy. With this board, you will be able to know where your (or any object's) X, Y, and Z location is within roughly the width of your fingernail! The ZED-F9P 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.

The number of configuration options of the ZED-F9P is incredible! Geofencing, variable I2C address, variable update rates, even the high precision RTK solution can be increased to 20Hz. The GPS-RTK2 even has five communications ports which are all active simultaneously: USB-C (which enumerates as a COM port), UART1 (with 3.3V TTL), UART2 for RTCM reception (with 3.3V TTL), I2C (via the two Qwiic connnectors or broken out pins), and SPI.

We've also written an extensive Arduino library for u-blox modules to make reading and controlling the GPS-RTK2 over our Qwiic Connect System easy. Leave NMEA behind! Start using a much lighter weight binary interface and give your microcontroller (and its one serial port) a break. The SparkFun Arduino library shows how to read latitude, longitude, even heading and speed over I2C without the need for constant serial polling.

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.

  • Concurrent reception of GPS, GLONASS, Galileo and BeiDou
  • Receives both L1C/A and L2C bands
  • Voltage: 5V or 3.3V but all logic is 3.3V
  • Current: ~35mA (varies with constellations and tracking state)
  • Time to First Fix: 25s (cold), 2s (hot)
  • Max Navigation Rate:
    • PVT (basic location over UBX binary protocol) - 25Hz
    • RTK - 20Hz
    • Raw - 25Hz
  • Horizontal Position Accuracy:
    • 2.5m without RTK
    • 0.010m with RTK
  • Max Altitude: 50km (31 miles)
  • Max Velocity: 500m/s (1118mph)
  • Weight: 6.8g
  • Dimensions: 43.5mm x 43.2mm (1.71in x 1.7in)
  • 2x Qwiic Connectors

SparkFun GPS-RTK2 Board - ZED-F9P (Qwiic) Product Help and Resources

GPS-RTK2 Hookup Guide

January 14, 2019

Get precision down to the diameter of a dime with the new ZED-F9P from Ublox.

GNSS Chip Antenna Hookup Guide

April 4, 2019

You've always wanted to experiment with those tiny GPS antennas. Now you can!

Core Skill: Programming

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.

3 Programming

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

Core Skill: Electrical Prototyping

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.

2 Electrical Prototyping

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


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.

  • Not to be a negative Nancy, I love SparkFun. I wish they would sell the official uBlox Application Boards too. The uBlox C099-F9P ( is so more feature rich and such a better buy for only $30 more on DigiKey.

    • Thumbs up dude. I went ahead and ordered the application board instead, for testing. In the future, I'll probably order the sparkfun modules as well, due to their smaller footprint.

  • Just purchased this board and cant wait to get my hands on it! Wondering if you have any drawings with dimensions? I want to design and 3D print a case to protect my $220 investment. (look for it on Thingiverse in a week or so after my board/antenna arrives) Plan to use the ZED-F9P to survey a 4.4 acre property of mine and aid in generating a topographic map. The land is fairly flat and collects quite a bit of water in spots. We hope to build a home on the property soon and even dig a pond. With a topo map in hand I can use my tractor and site level to sculpt the land as needed to fix drainage and properly locate our pond/ house.

  • Arrghh ..... I wish I had known you were so close to releasing this board and would have ordered from SparkFun instead of the ArduSimple project .... which won't be to my house until February! No matter ... Congratulations and I'm very glad you have added this to them list of SparkFun products! I've already told my co-workers to look at this unit!

    On another point ... you don't seem to have any antenna available here on SparkFun which cover both the L1 and L2 band. Is that something you're going to fix in the next week or so .... that way I won't make another purchasing blunder ;-)

    Oh ... one with a stable and well known phase center would really rock too


  • It's really great to see SparkFun leading the development of boards with the new u-blox modules!

    However, I'm curious to know the reasons behind only including a u.FL connector. Given the available real-estate, it appears the board could have accommodated the pads for an edge-launch SMA connector. This would have had the benefit of providing users with the option for a more direct and reliable antenna connection. I know I constantly worry about the fragile u.FL cables/connectors.

    • Good question. There's a variety of reasons:

      • Because of cell phones and laptops U.FL connectors are far more common than SMA. It's been a decade since I've designed a board with an SMA connector (wow, according to the nRF24L01 schematic it's been a decade + 10 days).
      • U.FL connectors are reflow compatible. SMA or edge mount SMA require a second production step (either manual soldering or selective automated soldering).
      • Our SMA connectors are designed for 1.6mm thick boards. This board is 0.8mm for impedance matching so we'd have to source and stock another part.

      You can certainly damage this board and any other board with vibration/shock/pond water. After years of messing about with antenna connectors I usually cause some other damage (or when bees covering your humidity sensor with wax) long before a U.FL antenna bites the dust.

      • I'm glad it has the u.FL connector as it makes it easier to swap out for other, similar boards which also have u.FL. Other boards that have the SMA connector onboard (e.g. CSG Shop) limit your packaging options.

      • Thanks for the detailed reply, Nate! I picked up the board from Digi-Key and can't wait to start testing!

        Also, super cool beehive project! :)

  • If I'm planning to use this device on a moving vehicle, how does the vehicle's speed affect both the precision and refresh rate (20Hz), say at 40mph, or 50mph? My project requires a precision of 3cm and 20Hz refresh rate at 40-50mph.

    • The max velocity of the ZED-F9P is 500m/s or 1120mph. The board should perform just fine at 50mph.

      • The default "Dynamic Platform Model" is Portable, which has a max horizontal velocity of 310 m/s and 50 m/s vertical. uBlox supports other modes as well, which can be set via uCenter, or dynamically using the CFG-NAVSPG-DYNMODEL command. The supported modes are: Portable, Stationary, Pedestrian, Automotive, At Sea, three Airborne modes and a wrist mode. The different modes determine the filtering settings. 500 m/s is only supported in the Airborne <4g mode.

        Section, page 20:

      • Thanks Nate for your reply. Can you advise if velocity affects my target precision of 3cm, and how?

        • Precision is rated at max velocity so you should not have precision degradation at 50mph.

  • Hi Nate,

    One quick question please: How many bytes are contained in an RTCM transmission from a base to a rover?

    Thank you, Nir

    • Hi Nir - It's a bit buried but you can view example RTCM output from the ZED-F9P (it's listed at the end of the hookup guide). This single transmission is 509 bytes. Whether that increases or decreases between transmissions I am not sure. I believe every 10 seconds the packet is larger due to the RTCM_1230 message being sent.

      • The number of bytes is a function of the number of satellites in view and the number of carriers available (e.g. L1 only, or L1 & L2). Since RTCM is a binary protocol, the resultant bitrate is relatively low, on the order of low 10s of Kbps at most.

      • Thank you Nate. One last question: Assume I have everything working i.e base is sending correction data to the rover and rover knows exactly where it is and now I wish to upload this data to the cloud - is there way to extract this data from the rover?

        • I recommend our LTE shield. This should allow your rover to pull down the RTCM corrections via NTRIP over cellular. You can then use that same cellular link to push up the rover's position to whatever cloud service you'd like.

  • Please Please build a version of this with a SMA rather than the super fragile u.FL....

  • Does this module support L-Band correction services from any vendor (OmniStar, TerraStar, Atlas, etc)?

  • I just found a possibly appropriate antenna for use with these in GPSWorld.

    Have you looked at the AGR6302/6303 antenna from Allystar? Its a magnetic mount with the following: AGR6302 is capable of receiving L1/L2 bands, and AGR6303 is capable of receiving L1/L5 bands. I think we would be interested in the 302.

    Thanks in advance!

  • Dose the RTK (high accuracy) mode require a 2nd module as a base station? If so how dose the base station communicate with the Rover module?

    • Checkout the hookup guide, namely how to connect a correction source.

      RTK requires a correction source. That can come from a 2nd module that is acting as a base station, or the correction data can come from a 3rd party. There's a few hundred(?) sources across the globe but you have to be within ~10km of a station for the correction data to be helpful.

      How to communicate correction data from a 2nd module setup as base station to the rover? Again, this is mostly covered in the hookup guide but the short answer is cellular is probably your best bet. I recommend pulling in the RTCM bytes from the RTK2 using a micro on your choice, and then pushing those bytes over cellular using our CAT LTE board.

  • Does this GPS have an altitude limit (i.e. can it be used for high-altitude balloons)?

    • This is what happens when we stop selling RTFM stickers... ;)

      Yes, the altitude limit is 50km (datasheet page 4). The velocity limit is 500m/s.

      • Sigh. I didn't even think to look at the docs, because in my experience these things aren't well-documented. If they mention it at all, they're rarely specific, and it seems to vary with firmware. ITAR calls for the limits to be ANDed (that is, you are restricted from going 500 m/s above 50 km, but you can go faster than that below 50 km or higher than 50 km if you're slower than 500 m/s.

        Thanks for pointing it out, though. Should be enough for balloons. Not sure it's the high price, since the balloon is unlikely to need such precise positioning.

        • No worries! I highly recommend ublox because of their extensive documentation. They set the gold standard for readable, well documented, support docs.

    • I would like to know that too. I am working on a data logger for high power rocketry.

  • 17mm precision wow!

  • Is SparkFun going to offer GNSS Multiband Antenna soon?

    • We currently carry GNSS antennas but no multiband units yet. I'm hoping to get one in stock in 4-6 weeks.

      In the mean time, I've done most of my testing with the low-cost magnetic GNSS (with ground plate) and achieved the 17mm shown in the image.

      (edit) We've got the L1/L2 band antennas posted now.

      • oops ... didn't see your reply here. I think you can get better accuracy with a better antenna ... one with a more stable phase center. Might want to try one with a CORS type survey antenna if you just want to show off how close you can get!

        Remember also you can take the dual frequency raw data and feed it into OPUS to get a well surveyed ground station point. OPUS is from and is free to use.

      • You might want to talk to these guys. They were in here trying to sell me large quantities of antennas but they couldn't understand I only buy antennas one at a time (Usually through Amazon or eBay or Sparkfun). But I think they would be a good fit for you. I have a direct sales guy email if you want that.

Customer Reviews

4 out of 5

Based on 8 ratings:

Currently viewing all customer reviews.

1 of 1 found this helpful:

Pretty Good

It's early in the development cycle, so the device and the doc's for it have a few rough edges still. It also does L2 GPS data slightly differently than the survey gear does. That can lead to issues with a whole range of support and analysis software. Mine decided to move 40 M over night. I checked and the antenna is still right where it was yesterday .....The NetR9 running next to it had no issues ...

Super board, until it died

ZED-F9P is plug and play board, simple to use and does not need any setting adjustments prior to first use. I was using it together with Bluetooth Mate Silver for RTK correction. BT Mate was attached to the board like described in GPS-RTK2 Hookup Guide. Assumingy in one moment there was a shortcut between BT Mate and the ZED-F9P module (in the section where there are jumpers on ZED-F9P) and I was not been able to connect to the ZED-F9P module again. I also noticed that RTK led is barely on. I reccomend to put inslulating tape between BT mate and ZED-F9P board. I would like to buy a new one, but the price is just not that attractive.

Great Product - Very Statisfied!

I purchased two of these; one to act as a base station sending correction data to a rover. I am getting 14mm accuracy (estimated).

Only IMHO, the software library is missing some functionality and it really should be able to be used with less polling...more interrupt driven. Also, there are a couple of items in the Hookup Guide that could use some clarification.

Good product!

This product has many terminals and can be used conveniently. It is also nice to provide design information. Very easy to use. I want to buy more, so I want to increase production quickly.

Amazing capability

I have been using this in static mode and post-processing the data with RTKLIB. While I have not yet been able to verify the absolute accuracy of a fix with integer ambiguity resolution after post-processing, I did get a fix with 1800 points on 1 second epochs while on a hilltop that put all points within a 5mm circle. This would be survey grade accuracy for about 2% of the cost of a survey grade system. Have not yet attempted real-time kinematic operation yet.

We have successfully tested and made to work in RTK mode. The performance is excellent. We could get position fixing accuracies within 15 mm. For the time being we made communication link using RF amplifiers and using GSM network still to explore. Of course, lack of literature on F9 device is a hurdel yet.

Is good

Well module is everything you need to prototype, I wish if can add a TTL level shifter in UART terminal because some radiomodens work to 5V and module justt support 3.3 V levels

Trying hard to gett this to work in RTK mode with no luck

Board is easy to set up but near impossible to get to work. I baught 2 of them one for base and one for rover and although i did everything correct i can not rover to receive the RTCM data from the base. Documentation is mediocre.

Do yourself a favor and stay away from this board.