SparkFun GNSS Flex pHAT - ZED-X20P & IM19 IMU

This Raspberry Pi pHAT combines a ZED-X20P all-band RTK receiver with a high-precision IMU for centimetre-level accuracy, tilt compensation, and dead reckoning.


Description

Unlock centimetre-level positioning with full tilt compensation using the SparkFun ZED-X20P & IM19 GNSS Flex pHAT. This is one of our most advanced modules in the GNSS Flex series, combining the ZED-X20P all-band RTK GNSS receiver with the high-precision IM19 IMU for accurate navigation in the most demanding applications.

The GNSS Flex pHAT acts as the bridge between your Raspberry Pi and the modular SparkPNT ecosystem. It mounts securely via an extended 40-pin header and connects to the included GNSS module using standardized 2x10-pin headers, making it simple to swap modules for repairs or future upgrades.

  • Raspberry Pi Connectivity: Standard 40-pin GPIO header for a direct, secure connection.

  • USB-C Port: Provides an alternative data interface to the GNSS module. (Read USB note)

  • Versatile Antenna Connections: Equipped with both SMA and U.FL connectors to accommodate various antenna types.

  • Mounting Hardware Included: Comes with the necessary standoffs, screws, and an extended header for a clean, stable setup.

X20P Marks the Spot

At the core of the Module on the pHAT is the u-blox ZED-X20P, a professional-grade, all-band GNSS receiver that delivers centimetre-level accuracy. It concurrently processes signals from all major constellations (GPS, Galileo, BeiDou, etc.) across all frequency bands, including L-band, providing incredibly fast and reliable fixes for control applications like UAVs, guidance systems, and auto-steering.

  • RTK & PPP Ready: Supports Real-time Kinematics (RTK), PPP-RTK, and Precise Point Positioning* for ultimate flexibility.

  • L-Band Corrections: Natively supports L-band correction services*, eliminating the need for external receivers.

  • High Update Rate: Ensures smooth and reliable operation in high-speed robotics and vehicle control systems.

  • Uncompromising Security: Features multi-layered defenses including a Root of Trust, advanced jamming and spoofing detection, and Galileo OSNMA cryptographic authentication.

Intelligent Tilt & Dead Reckoning

Paired with the ZED-X20P is the Feyman (FMI) IM19 IMU, which combines MEMS sensor data with the GNSS RTK positioning data to provide high-precision attitude measurements. This enables advanced features, like tilt-compensated surveying and robust navigation through brief GNSS outages.

  • Survey-Grade Accuracy: Delivers roll and pitch measurements accurate to within 0.05 degrees.

  • Tilt Compensation: No more perfectly vertical survey poles! The IM19 can calculate a virtual digital level point at any tilt angle, revolutionizing field data collection.

  • Sensor Fusion: Offers a continuous navigation solution (Dead Reckoning) even during brief GNSS signal loss, making it ideal for urban or obstructed environments.

Seamless Integration & Connectivity

This GNSS Flex pHAT has been designed for the ZED-X20P and IM19 to work in symbiosis. By default, the ZED-X20P's navigation data is automatically fed to the IMU. The IM19 then outputs proprietary NMEA messages containing the fully compensated position and attitude (roll, pitch, and yaw). This default link can be easily reconfigured via onboard jumpers to suit your specific project needs.

This product requires an external antenna and a GNSS Flex carrier board. Users have a few options for connecting an external GNSS antenna to their GNSS receiver.

  • The GNSS Flex module has a U.FL connector for an external antenna.

  • For a sturdier connection, an SMA connector is available on the SparkFun GNSS Flex pHAT that is bridged to a U.FL connector. Users simply need to jumper the U.FL connectors on both the SparkPNT GNSS Flex module and SparkFun GNSS Flex pHAT with a short U.FL cable.

This pHAT also requires a Raspberry Pi (or similar single-board computer). Users can find Raspberry Pi and NVIDIA single-board computers in our catalogue. By default, we use the Raspberry Pi's primary serial bus (i.e., TX: GPIO14/Pin 8; RX: GPIO15/Pin 9) to communicate with the GNSS receiver and an alternate serial bus (i.e,. TX: GPIO04/Pin 7; RX: GPIO05/Pin 29) to communicate with the IMU of our SparkPNT GNSS Flex modules. However, users can also utilise any of the other interfaces.

*According to u-blox, support for Precise Point Positioning (PPP) and full L-band correction services is still under development and will be made available through a future firmware update.


Specifications

GNSS Flex pHAT:

  • 40-pin socket for Raspberry Pi header
  • 40-pin header for GNSS Flex modules
    • Two 2x20-pin, 2mm-pitch male headers
      • Power
        • 3.3V
        • Backup power
        • USB bus detect (not a power source)
      • USB data (Read USB note)
      • UART (x4)
      • SD card
      • I2C bus
      • PPS signal (x2)
      • LED indicators (x2)
      • Event indicators (x2)
  • USB-C connector (Read USB note)
    • Interfaces directly w/ GNSS Flex Module
  • Antenna bridge
    • U.FL connector
    • SMA connector
  • µSD card socket
  • Qwiic connector
  • Indicator LEDs
    • PWR (Red)
    • PPS (Yellow)
    • RTK (White)
    • PVT (Blue)
  • Twenty-four jumpers
    • Raspberry Pi GPIO isolation (x16)
    • LED power isolation (x4)
    • I2C pull-up resistors (x4)
       

GNSS Flex Module - ZED-X20P and IM19:

  • u-blox ZED-X20P Allband, GNSS module
    • GNSS Constellations:
      • GPS (USA)
      • Galileo (EU)
      • BDS (China)
      • QZSS (Japan)
      • NavIC (India)
    • SBAS Systems:
      • WAAS (USA)
      • EGNOS (EU)
      • BDSBAS (China)
      • MSAS (Japan)
      • GAGAN (India)
  • IM19 Inertial Measurement Unit
  • Two 2x20-pin, 2mm-pitch female headers
    • 40-pin socket for GNSS Flex pHAT / Breakout
      • Power
        • 3.3V
        • Backup power
        • USB bus detect (not a power source)
      • USB (x1) (Read USB note)
      • UART (x4)
      • I2C bus
      • PPS signal (x1)
      • PVT signal (x1)
      • RTK signal (x1)
      • Event signal (x1)
  • U.FL Connector:
    • GNSS Antenna (Active, Multi-band)
    • 3.3V power for an active antenna
  • Dimensions: 44.0mm x 34.0mm (Approx. 1.73" x 1.34")
  • Four mounting holes:
    • 4-40 screw compatible
    • Hole centers: 39.0mm x 29.0mm
  • Header spacing: 36.0mm

Flex Module Interfaces:

  • USB: ZED-X20P only (D+ and D-) (Read USB note)
  • I2C: ZED-X20P only (SDA and SCL)
  • Flex COM1: ZED-X20P UART1 (TX and RX only)
  • Flex COM2: ZED-X20P UART2 (TX and RX only)
  • Flex COM3: IM19 UART1 (TX and RX only)
  • Flex COM4: IM19 UART2
  • PPS1: ZED-X20P TIMEPULSE
  • PPS2: N/C
  • EVENTA: ZED-X20P EXTINT
  • EVENTB: N/C
  • RTK LED: ZED-X20P RTK_STAT (Inverted)
  • PVT LED: ZED-X20P GEO_STAT (Geofence)
     

ZED-X20P General Features:

  • Supply voltage: 2.7V to 3.6V
  • GNSS Support:
    • GPS: L1C/A, L2C, L5
    • Galileo: E1B/C, E5a, E6
    • BeiDou: B1I, B1C, B2a, B3I
    • QZSS: L1C/A, L1C/B*, L2C, L5, L6
    • NavIC: L1*, L5
    • SBAS: L1C/A
  • Interfaces:
    • USB (Read USB note)
    • UART x2
    • SPI
    • I2C
  • Features
    • Programmable flash memory
    • Carrier phase output
    • Jamming detection
    • Galileo OSNMA
    • Secure boot
  • Services:
    • AssistNow
    • PointPerfect
  • Operating temperature: -40°C to 85°C
  • Dimensions: 17.0mm x 22.0mm x 2.4mm

IM19 General Features:

  • Operating Range:
    • Accelerometer: ±8g
    • Gyroscope: ±1000°/s -Accuracy:
    • Accelerometer Bias: ±5mg
    • Gyroscope Bias Accuracy: ±0.2°/s
      • Roll/Pitch: ±0.025° (1σ)
      • Heading: ±0.25° (1σ)
    • RTK: + 0.3mm/tilt°, with 200cm straight pole (1σ)
    • Auto Steering Yaw: 0.25° (1σ)
  • Initialisation: ~1s
  • Footprint: 14.8mm x 18.4mm

*: Feature in development


Resources

Related Products