Verified 2026-10
sparkfun GPS-RTK-SMA Breakout - ZED-F9P (Qwiic)
Multi-band u-blox ZED-F9P RTK breakout (L1/L2 GPS, GLONASS, Galileo, BeiDou) with a panel-mount SMA, USB-C, two Qwiic sockets, five simultaneous ports (USB, UART1, UART2, I2C, SPI), a rechargeable backup cell for hot starts, and 3.3 V logic from a 5 V or 3.3 V input - 10 mm RTK accuracy, I2C address 0x42.
Place this board on a carrier in the editor →
Part & documents
| Data sheet | Data sheet → |
|---|---|
| Source | www.sparkfun.com/sparkfun-gps-rtk-sma-breakout-zed-f9p-qwiic.html → |
Specs
| MCU | u-blox ZED-F9P-02B multi-band GNSS receiver (GPS, GLONASS, Galileo, BeiDou on L1C/A and L2C, concurrent), RTK rover and base station |
|---|
Pinout
25 pads, as the vendor numbers them.
| # | Name | Function | Signals |
|---|---|---|---|
| 1 | SCK | J7 pad 1: SCK, the module's SCL/SPI_CLK pin - I2C clock in the default UART mode, SPI clock once D_SEL is pulled low (net SCL/SCK) | I2C clock, SPI clock when D_SEL is low |
| 2 | TX/MISO | J7 pad 2: TX/MISO, UART1 transmit, and SPI MISO in SPI mode (net TXO/MISO) | UART1 transmit, SPI MISO when D_SEL is low |
| 3 | RX/MOSI | J7 pad 3: RX/MOSI, UART1 receive, and SPI MOSI in SPI mode (net RXI/MOSI) | UART1 receive, SPI MOSI when D_SEL is low |
| 4 | CS | J7 pad 4: CS, the module's SDA/SPI_CS_N pin - I2C data in the default UART mode, SPI chip select once D_SEL is low (net SDA/!CS). The silk prints CS, not SDA; the SDA name is on J3 pad 3 | I2C data, SPI chip select when D_SEL is low |
| 5 | RX2 | J7 pad 5: RX2, UART2 receive - the correction input (net RX2) | UART2 receive, RTCM corrections in |
| 6 | TX2 | J7 pad 6: TX2, UART2 transmit (net TX2) | UART2 transmit |
| 7 | 3V3 | J7 pad 7: 3V3, the on-board regulator's output rail (net 3.3V) | 3.3 V rail |
| 8 | 5V | J7 pad 8: 5V, the 5 V side of U2's input and the USB VBUS rail (net 5V) | 5 V rail, USB VBUS |
| 9 | GND | J7 pad 9: GND | ground |
| 10 | GND | J3 pad 1: GND on the 4-pad I2C header | ground |
| 11 | 3V3 | J3 pad 2: 3V3 on the 4-pad I2C header, the same rail as J7 pad 7 | 3.3 V rail |
| 12 | SDA | J3 pad 3: SDA, the module's SDA/SPI_CS_N pin, same net as J7 pad 4 (net SDA/!CS) | I2C data |
| 13 | SCL | J3 pad 4: SCL, the module's SCL/SPI_CLK pin, same net as J7 pad 1 (net SCL/SCK) | I2C clock |
| 14 | FENCE | J6 pad 1: FENCE, the module's GEOFENCE_STAT output, also driving the blue FENCE LED through R13 (1k) and the FENCE jumper (net FENCE_STAT) | geofence status output, blue FENCE LED |
| 15 | RTK | J6 pad 2: RTK, the module's RTK_STAT output, also driving the green RTK LED through R12 (1k) and the RTK jumper (net RTK_STAT) | RTK status output, green RTK LED |
| 16 | PPS | J6 pad 3: PPS, the module's TIMEPULSE output, also driving the yellow PPS LED through R11 (1k) and the PPS jumper (net PPS_STAT) | time pulse output, yellow PPS LED |
| 17 | RST | J6 pad 4: RST, the module's RESET_N input, driven from the header through R19 (33 Ohm) (net RESET) | reset input |
| 18 | SAFE | J6 pad 5: SAFE, the module's SAFEBOOT_N input - held LOW at power-up the receiver starts in safeboot mode, driven from the header through R20 (33 Ohm) (net SAFE) | safeboot input |
| 19 | INT | J6 pad 6: INT, the module's EXTINT input, through R18 (33 Ohm) (net INT) | external interrupt input |
| 20 | NC | J1 pad 1: NC, no connection in the design file | not connected |
| 21 | TX2 | J1 pad 2: TX2 on the radio header, UART2 transmit through R23 (33 Ohm) (net TX2) | UART2 transmit |
| 22 | RX2 | J1 pad 3: RX2 on the radio header, UART2 receive through R22 (33 Ohm) (net RX2) | UART2 receive |
| 23 | 3V3 | J1 pad 4: 3V3, the rail for a Bluetooth serial module on this header | 3.3 V rail |
| 24 | NC | J1 pad 5: NC, no connection in the design file | not connected |
| 25 | GND | J1 pad 6: GND | ground |
Buses
| Bus | Signals | Pins | Voltage | Note |
|---|---|---|---|---|
| I2C ×2 | SDA, SCL | SDA, SCL | 3.3 V V | 0x42 by default on the module's DDC port, slave only, Fast-mode per the data sheet, address configurable in software. The same nets reach J3 pads 3 and 4, both Qwiic sockets and, as the SPI alternatives, J7 pads 4 (CS) and 1 (SCK). 2.2 kOhm pull-ups R8 (SDA) and R7 (SCL) are fitted and bridged to 3.3 V by JP5 on delivery - the 3-pole jumper's copper spans all three pads, so cut it to take them off the bus. |
| SPI ×1 | SCLK, MISO, MOSI, CS | SCK, TX/MISO, RX/MOSI, CS | 3.3 V V | Pads 1, 2, 3 and 4 of J7 carry SCK, MISO, MOSI and CS when the SPI jumper ties D_SEL low; the board is an SPI peripheral. Selecting SPI removes I2C from those same pins, so the two cannot be used at once. |
| UART ×1 | TX1, RX1 | TX/MISO, RX/MOSI | 3.3 V V | UART1 is the general-purpose port, on J7 pads 2 and 3 (silk TX/MISO and RX/MOSI) and on the USB-C port too. 38400 baud 8N1 by default. |
| UART ×1 | TX2, RX2 | TX2, RX2 | 3.3 V V | UART2 is the RTCM correction port - on J7 pads 6 (TX2) and 5 (RX2), and on the 1x06 radio header J1 pads 2 and 3. UBX cannot be enabled on UART2, so it cannot be used as a second general serial port. |
I²C / bus addresses
| Address | Bus | Device | Note |
|---|---|---|---|
| 0x42 | I2C | ZED-F9P-02B GNSS receiver (DDC port) | The u-blox integration manual states the receiver's DDC address is 0x42 by default, and SparkFun's product page says it can be set to a variable address - the value lives in the module's configuration, not in a board strap, so two receivers on one bus must be given different addresses in software. |
Power
| Input | 5 V or 3.3 V in, through USB-C, either Qwiic socket or the PTH pads - all logic stays 3.3 V |
|---|---|
| Input range | The board accepts 5 V or 3.3 V and regulates 3.3 V on board; the ZED-F9P itself runs 2.7-3.6 V (3.0 V typical) |
SparkFun gives 68 mA to 130 mA depending on which constellations are enabled and whether the receiver is tracking or acquiring - no single figure covers it.
Outputs
| Rail | Rating | Note |
|---|---|---|
| 3.3V | 3.3 V V | From the on-board SOT-23-5 regulator U2. It feeds the module, both Qwiic sockets, the radio header and the backup cell's charge path. |
Notes
Pads are numbered 1-25 here because each connector numbers its own pads from 1: J7 is a 1x09 (1-9), J3 a 1x04 I2C header (10-13), J6 a 1x06 control header (14-19) and J1 a 1x06 radio header (20-25). Every description names its connector and the vendor's own pad number. This board shares its layout, pin order and dimensions with the Allband GNSS RTK Breakout - ZED-X20P (Qwiic) - SparkFun calls the X20P a drop-in replacement - but the silkscreen differs and the two are separate entries. The labels here come from the Eagle design file's own label elements, positioned against each pad's coordinates, and agree with SparkFun's photographs: the 9-pad header prints the SPI names CS and SCK on pads 4 and 1, while the 4-pad header prints SDA and SCL, which is a real trap for anyone wiring I2C to the 9-pad row. Two Qwiic sockets (J2 and J4, JST-SH 1.0 mm 4-pin right-angle) carry the same four signals; the vendor prints no per-pad label on them so they are not numbered into `pins`, and each has two shield tabs the schematic marks NC. Status LEDs PWR, PPS, RTK and FENCE each sit behind a cuttable jumper on the back, alongside the SPI (D_SEL) jumper and JP5 for the I2C pull-ups. part is null because SparkFun's title already carries the module name - the same shape the Thing Plus entries took.
AI context
Dense context for pasting into a model prompt — addresses, pinout, voltages, tolerances and the vendor's reference circuit.
PART: SparkFun GPS-RTK-SMA Breakout - ZED-F9P (Qwiic), GPS-16481, 43.5 mm x 43.2 mm, 6.8 g, built around a u-blox ZED-F9P-02B multi-band receiver (GPS, GLONASS, Galileo, BeiDou on L1C/A and L2C, concurrent) for RTK rover or survey-in base station use. The board adds a panel-mount SMA connector, USB-C, a 3.3 V regulator (U2, SOT-23-5), a rechargeable backup cell, two Qwiic sockets, 19 through-hole pads in two rows plus a 6-pad radio header, and PWR/PPS/RTK/FENCE LEDs. Published figures: 2.5 m horizontal accuracy without RTK and 0.010 m with it, 25 s cold and 2 s hot time-to-first-fix, and navigation rates of 25 Hz PVT, 20 Hz RTK and 25 Hz raw. I2C: 7-bit address 0x42 on the module's DDC port, slave only, Fast-mode, and configurable in software - nothing on the board straps it, so two receivers on one bus must be given different addresses. The same two nets appear as CS and SCK on the 9-pad row and as SDA and SCL on the 4-pad row. PINOUT: J7 (1x09) pad 1 SCK, 2 TX/MISO, 3 RX/MOSI, 4 CS, 5 RX2, 6 TX2, 7 3V3, 8 5V, 9 GND. J3 (1x04, I2C) pad 1 GND, 2 3V3, 3 SDA, 4 SCL. J6 (1x06 control) pad 1 FENCE, 2 RTK, 3 PPS, 4 RST, 5 SAFE, 6 INT. J1 (1x06 radio) pad 1 NC, 2 TX2, 3 RX2, 4 3V3, 5 NC, 6 GND. Both Qwiic sockets are pad 1 GND, 2 3V3, 3 SDA, 4 SCL. In SPI mode pad 1 becomes the clock, 2 MISO, 3 MOSI and 4 chip select. SUPPLY: 5 V or 3.3 V into the board and 3.3 V logic throughout; the module runs 2.7-3.6 V, 3.0 V typical. Current is 68 mA to 130 mA depending on constellations and tracking state - SparkFun gives that range, not a single number, so size the feed for 130 mA. The backup cell keeps the module's configuration and ephemeris for warm starts for up to two weeks; V_BCKP operating range is 1.65-3.6 V and it draws 45 uA at 3 V with VCC removed. LOGIC AND LIMITS: 3.3 V. Absolute maximum VCC -0.5 to 3.6 V; any input pin -0.5 V to VCC+0.5 V while VCC is 3.1 V or below, and -0.5 to 3.6 V above that; V_BCKP -0.5 to 3.6 V; RF_IN +10 dBm at 50 Ohm; VCC_RF may source 200 mA absolute. The receiver has no overvoltage or reverse-voltage protection, so any spike past those numbers damages it. Operational limits are 50 km altitude and 500 m/s velocity. REFERENCE CIRCUIT: every module-to-header signal passes a 33 Ohm series resistor (R18-R25 on the control and radio pads, R2/R3/R4/R6 on SDA, SCL, TX1 and RX1), so nothing on the headers connects straight to the module. I2C pull-ups are 2.2 kOhm - R8 on SDA, R7 on SCL - and both reach 3.3 V through JP5, a 3-pole solder jumper whose copper bridges all three pads on delivery; cut it to take them off the bus. Decoupling: C2 and C4 1 uF plus C5 and C7 0.1 uF on 3.3 V, C6 1 uF on 5 V, C3 1 uF on the backup rail. The antenna feed runs VCC_RF through ferrite FB1 (120 nH) and R14 (33 Ohm) with C1 (47 pF) to ground, and R15 (100k) bleeds the 3.3 V rail. USB data lines carry 27 Ohm series resistors (R9, R10) and the USB-C CC pins are pulled to ground by 5.1k (R16, R17). TRAPS: SPI and I2C share pads 1-4 of the 9-pad header - pulling D_SEL low to enable SPI removes I2C from those pins. The 9-pad header's silk prints CS and SCK rather than SDA and SCL, so an I2C cable belongs on the 4-pad header, not there. UART2 is the correction port and UBX cannot be enabled on it, so it will not do as a second general serial port; its default output is RTCM 3.3 with no messages enabled. Five ports can be live at once (USB-C, UART1, UART2, I2C, SPI). Defaults are 38400 baud 8N1 on both UARTs with NMEA GGA, GLL, GSA, GSV, RMC, VTG and TXT on UART1. The four status LED supply jumpers on the back can be cut for low-power use.
Provenance
Every figure on this page was read from the 5 sources below and last checked on Oct 23, 2026.
- vendor SparkFun - GPS-RTK-SMA Breakout - ZED-F9P (Qwiic) product page (GPS-16481, $259.95 USD; 5 V or 3.3 V in with 3.3 V logic, 68-130 mA, 25 s cold and 2 s hot TTFF, 25 Hz PVT / 20 Hz RTK / 25 Hz raw, 2.5 m standalone and 0.010 m RTK accuracy, 50 km and 500 m/s limits, 43.5 mm x 43.2 mm, 6.8 g, rechargeable backup cell good for two weeks, five simultaneous ports)
- datasheet u-blox ZED-F9P-02B data sheet UBX-21023276 (absolute maximum ratings, VCC 2.7-3.6 V, backup 1.65-3.6 V at 45 uA, input pin range, I2C slave Fast-mode, default interface settings)
- datasheet u-blox ZED-F9P Integration Manual UBX-21023276 companion (DDC address 0x42 by default, D_SEL interface selection, I2C peripheral-only behaviour)
- datasheet SparkFun Qwiic GPS-RTK-SMA design files, Eagle .brd (J7/J3/J6/J1 pad nets and the label elements giving each pad's silkscreen text; R7/R8 2.2k I2C pull-ups behind JP5; 33 Ohm series resistors on every module-to-header signal; C2/C4 1 uF and C5/C7 0.1 uF on 3.3 V, C6 1 uF on 5 V, C3 1 uF on the backup rail; FB1 120 nH, R14 33 Ohm and C1 47 pF on the antenna rail; R9/R10 27 Ohm on USB, R16/R17 5.1k on the USB-C CC pins)
- reference SparkFun GPS-RTK2 hookup guide (board overview, UART1/UART2/I2C/SPI sections, control pins and jumpers; the tutorial pages are client-rendered so the pin labels were taken from the design file and the board photographs on these pages)