SparkFun
GNSS Flex pHAT with LG290P RTK & IM19 IMU
· MPN: GPS-29891
Build high-accuracy GNSS projects on a Raspberry Pi with this GNSS Flex pHAT and matched LG290P plus IM19 module. It combines Quectel's quad-band LG290P RTK ...
Build high-accuracy GNSS projects on a Raspberry Pi with this GNSS Flex pHAT and matched LG290P plus IM19 module. It combines Quectel's quad-band LG290P RTK receiver with the Feyman IM19 IMU for centimetre-level positioning, tilt compensation and improved navigation through brief GNSS outages.
The pHAT is designed as a bridge between a Raspberry Pi and the modular SparkPNT GNSS Flex ecosystem. It mounts via an extended 40-pin header, connects to the GNSS Flex module through standard 2x10-pin headers, and includes the standoffs, screws and extended header needed for a clean installation.
By default, the LG290P feeds navigation data to the IM19, which outputs proprietary NMEA messages containing compensated position and attitude data for roll, pitch and yaw. Onboard jumpers let you reconfigure this link for your project.
An external GNSS antenna is required. The GNSS Flex module provides a U.FL antenna connector, while the pHAT also offers an SMA connector bridged to U.FL for a sturdier antenna connection when jumpered with a short U.FL cable. A Raspberry Pi or similar single-board computer is also required.
Features:
- Raspberry Pi Connectivity: Standard 40-pin GPIO header for a direct, secure connection.
- Mounting Hardware Included: Comes with the necessary standoffs, screws, and an extended header for a clean, stable setup.
- RTK & PPP Ready: Supports standard RTK and RTCM corrections, SBAS augmentation, and multiple PPP services including BDS PPP-B2b, QZSS CLAS, and Galileo HAS.
- Advanced Anti-Jamming: A built-in NIC anti-jamming unit provides interference detection and mitigation.
- Reliable in Tough Scenarios: Embedded algorithms support positioning in challenging situations such as dense urban canyons and deep tree cover.
- Survey-Grade Accuracy: Delivers roll and pitch measurements accurate to within 0.05 degrees.
- Tilt Compensation: The IM19 can calculate a virtual digital level point at any tilt angle.
- Sensor Fusion: Offers a continuous navigation solution using Dead Reckoning during brief GNSS signal loss.
Specifications:
- GNSS Flex pHAT: 40-pin socket for Raspberry Pi header
- GNSS Flex pHAT: 40-pin header for GNSS Flex modules
- GNSS Flex pHAT: Two 2x20-pin, 2mm-pitch male headers
- GNSS Flex pHAT: Power
- GNSS Flex pHAT: 3.3V
- GNSS Flex pHAT: Backup power
- GNSS Flex pHAT: USB bus detect (not a power source)
- GNSS Flex pHAT: USB data
- GNSS Flex pHAT: UART (x4)
- GNSS Flex pHAT: SD card
- GNSS Flex pHAT: I2C bus*
- GNSS Flex pHAT: PPS signal (x2)
- GNSS Flex pHAT: LED indicators (x2)
- GNSS Flex pHAT: Event indicators (x2)
- GNSS Flex pHAT: USB-C connector
- GNSS Flex pHAT: Interfaces directly w/ GNSS Flex Module
- GNSS Flex pHAT antenna bridge: U.FL connector
- GNSS Flex pHAT antenna bridge: SMA connector
- GNSS Flex pHAT: µSD card socket
- GNSS Flex pHAT: Qwiic connector
- GNSS Flex pHAT indicator LEDs: PWR (Red)
- GNSS Flex pHAT indicator LEDs: PPS (Yellow)
- GNSS Flex pHAT indicator LEDs: RTK (White)
- GNSS Flex pHAT indicator LEDs: PVT (Blue)
- GNSS Flex pHAT: Twenty-four jumpers
- GNSS Flex pHAT jumpers: Raspberry Pi GPIO isolation (x16)
- GNSS Flex pHAT jumpers: LED power isolation (x4)
- GNSS Flex pHAT jumpers: I2C pull-up resistors (x4)*
- GNSS Flex Module - LG290P and IM19: Quectel LG290P GNSS receiver
- GNSS Flex Module - LG290P and IM19: Concurrent signal reception: 5 + QZSS
- GNSS Flex Module - LG290P and IM19: L1, L2, L5, E6 frequency bands
- GNSS Constellations: GPS (USA)
- GNSS Constellations: GLONASS (Russia)
- GNSS Constellations: Galileo (EU)
- GNSS Constellations: BDS (China)
- GNSS Constellations: QZSS (Japan)
- GNSS Constellations: NavIC (India)
- SBAS Systems: WAAS (USA)
- SBAS Systems: SDCM (Russia)
- SBAS Systems: EGNOS (EU)
- SBAS Systems: BDSBAS (China)
- SBAS Systems: MSAS (Japan)
- SBAS Systems: GAGAN (India)
- GNSS Flex Module - LG290P and IM19: Built-in NIC anti-jamming unit
- GNSS Flex Module - LG290P and IM19: IM19 Inertial Measurement Unit
- GNSS Flex Module - LG290P and IM19: Two 2x20-pin, 2mm-pitch female headers
- GNSS Flex Module - LG290P and IM19: 40-pin socket for GNSS Flex system
- GNSS Flex Module - LG290P and IM19: Power
- GNSS Flex Module - LG290P and IM19: 3.3V
- GNSS Flex Module - LG290P and IM19: Backup power
- GNSS Flex Module - LG290P and IM19: USB bus detect (not a power source)
- GNSS Flex Module - LG290P and IM19: UART (x4)
- GNSS Flex Module - LG290P and IM19: I2C bus*
- GNSS Flex Module - LG290P and IM19: PPS signal (x1)
- GNSS Flex Module - LG290P and IM19: LED indicators (x1)
- GNSS Flex Module - LG290P and IM19: Event indicators (x1)
- U.FL Connector: GNSS Antenna (Active, Multi-band)
- Flex Module Interfaces: I2C: LG290P I2C (SDA and SCL)*
- Flex Module Interfaces: Flex COM1: LG290P UART1 (TX and RX only)
- Flex Module Interfaces: Flex COM2: LG290P UART2 (TX and RX only)
- Flex Module Interfaces: Flex COM3: IM19 UART1 (TX and RX only)
- Flex Module Interfaces: Flex COM4: IM19 UART2
- Flex Module Interfaces: PPS1: LG290P PPS
- Flex Module Interfaces: PPS2: N/C
- Flex Module Interfaces: EVENTA: LG290P EVENT
- Flex Module Interfaces: EVENTB: N/C
- Flex Module Interfaces: RTK LED: LG290P RTK_STAT
- Flex Module Interfaces: PVT LED: N/C
- LG290P General Features: High-precision GNSS module
- Supply Voltage: 3.15–3.45V
- Normal Operation Current Consumption: 91mA (300.3mW) (Acquisition)
- Normal Operation Current Consumption: 91mA (300.3mW) (Tracking)
- Power Saving Mode Current Consumption: 12μA (39.6mW) (Backup Mode)
- GPS frequency bands: L1 C/A, L1C, L5, L2C
- GLONASS frequency bands: L1, L2
- Galileo frequency bands: E1, E5a, E5b, E6
- BDS frequency bands: B1I, B1C, B2a, B2b, B2I, B3I
- QZSS frequency bands: L1 C/A, L1C, L5, L2C
- NavIC frequency bands: L5
- SBAS frequency bands: L1 C/A
- L-band PPP: PPP: B2b
- L-band PPP: QZSS: L6
- L-band PPP: Galileo HAS: E6
- Tracking Channels: 1040
- Horizontal Position Accuracy - Autonomous: 0.7m
- Horizontal Position Accuracy - RTK: 0.8cm + 1ppm
- Vertical Accuracy - Autonomous: 2.5m
- Vertical Accuracy - RTK: 1.5cm + 1ppm
- Velocity Accuracy Without Aid: 0.03m/s
- Accuracy of 1PPS Signal: 5ns (RMS)
- RTK Convergence Time: 5s
- Cold Start: 28s
- Warm Start: 28s
- Hot Start: 1.7s
- Acquisition Sensitivity: -146dBm
- Tracking Sensitivity: -160dBm
- Reacquisition Sensitivity: -155dBm
- Maximum Altitude: 10000m
- Maximum Velocity: 490m/s
- Maximum Acceleration: 4g
- Update Rate - Default: 10Hz
- Update Rate - Max: 20Hz
- Antenna Interface: External active antenna
- Antenna Interface Power Supply: External or Internal
- LG290P interface: UART (x2)
- Baud Rate: 9600–3000000bps
- Default: 460800bps
- Protocol: NMEA 0183/RTCM 3.x
- LG290P interface: SPI* (x1)
- LG290P interface: I2C* (x1)
- Operating temperature: -40°C to +85°C
- Footprint: 12.2mm × 16mm × 2.6mm
- Weight: ~0.9g
- IM19 Accelerometer Operating Range: ±8g
- IM19 Gyroscope Operating Range: ±1000°/s
- IM19 Accelerometer Bias: ±5mg
- IM19 Gyroscope Bias Accuracy: ±0.2°/s
- IM19 Roll/Pitch: ±0.025° (1σ)
- IM19 Heading: ±0.25° (1σ)
- IM19 RTK: + 0.3mm/tilt°, with 200cm straight pole (1σ)
- IM19 Auto Steering Yaw: 0.25° (1σ)
- IM19 Initialization: ~1s
- IM19 Footprint: 14.8mm x 18.4mm
- Default GNSS serial bus: TX: GPIO14/Pin 8; RX: GPIO15/Pin 9
- Default IMU serial bus: TX: GPIO04/Pin 7; RX: GPIO05/Pin 29
- I2C note: * Feature is still under development
Ideal for survey, robotics, precision navigation and SparkPNT projects where a Raspberry Pi needs high-accuracy GNSS, RTK corrections and IMU-based attitude data.
Jargon buster
Plain-language definitions for the technical terms used above.
- 1PPS
- One Pulse Per Second is a precise timing signal often provided by a satellite positioning receiver. It matters when a project needs very accurate time alignment, such as timestamping logged data.
- B1I
- A BeiDou satellite signal used for standard positioning. It matters because the receiver must support the signal bands used by a constellation to take advantage of those satellites.
- B2a
- A BeiDou satellite signal used by newer dual-band GNSS receivers. Support for B2a can improve accuracy and reliability when combined with other GNSS bands.
- baud
- Baud is the signalling rate of a serial connection, often used as the speed setting for UART communication. Matching the baud rate matters because both connected devices must use the same setting for readable data.
- BDS
- BeiDou, China’s satellite navigation system. Support for BDS gives the receiver access to more satellites, which can help maintain a better position fix in challenging locations.
- E1
- A Galileo satellite signal band used for standard positioning. Knowing which signal bands are supported helps you judge compatibility and expected performance of a GNSS receiver.
- E5a
- A Galileo satellite signal band used for higher-performance positioning services. Support for E5a can help dual-band GNSS receivers improve accuracy and reduce errors from atmospheric delay.
- EGNOS
- Europe’s SBAS service for improving GNSS positioning accuracy and reliability. It is relevant if the receiver will be used in Europe or nearby supported areas without an RTK correction link.
- GAGAN
- India’s SBAS service for improving GNSS positioning. It matters for projects in its coverage region because it can improve standard GNSS accuracy when RTK is not being used.
- Galileo
- Europe’s satellite navigation system. Galileo support can improve satellite availability and accuracy, especially when combined with GPS and other constellations.
- GLONASS
- Russia’s satellite navigation system. A receiver that can also use GLONASS has more satellites to choose from, which can improve positioning reliability when the sky view is partly blocked.
- GNSS
- GNSS stands for Global Navigation Satellite System, covering positioning systems such as GPS and similar satellite networks. It matters here because high-precision GNSS modules can output lots of serial position data that this product can send wirelessly to a computer or phone.
- GPIO
- General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
- GPS
- The US satellite navigation system used by GNSS receivers to calculate position and time. Support for GPS is important because it is widely available and often used together with other constellations for more reliable positioning.
- Gyroscope
- A gyroscope measures rotation, such as how fast a board is turning around its X, Y, and Z axes. This matters for projects like gesture controls, balancing robots, and motion tracking where tilt or rotation changes need to be detected.
- Headers
- Rows of metal pins used to plug a module into a breadboard or connect it with jumper wires. Pre-soldered headers make the module easier to use straight away without needing to solder the pins yourself.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- IMU
- An Inertial Measurement Unit combines motion sensors to measure movement and orientation. It matters for asset tracking because it can detect movement, tilt, vibration, or changes in direction.
- L2C
- A second GPS signal band used by dual-band GNSS receivers to improve precision and reduce errors caused by the atmosphere. It matters for RTK and high-accuracy applications because using two bands can produce faster and more reliable centimetre-level fixes.
- L5
- A modern GNSS signal band used by several satellite systems for more accurate and robust positioning. Dual-band receivers that include L5 can often perform better than single-band receivers, especially for RTK and areas with reflected signals.
- LED
- A light-emitting diode is a small electronic component that lights up when current flows through it in the correct direction. In this kit, LEDs create the flashing effect, so polarity and correct soldering matter for the project to work.
- MSAS
- Japan’s SBAS service for improving GNSS positioning. It is useful to know because SBAS benefits depend on whether your project is located in the service’s coverage area.
- NMEA 0183
- A standard text-based data format used by GPS and GNSS receivers to send position, time and satellite information. If your microcontroller or software can read NMEA 0183, it can usually parse basic location data from this kit.
- pHAT
- A smaller add-on board format for Raspberry Pi, similar in idea to a HAT but usually not full-sized. It matters because pHAT compatibility can affect how neatly a board stacks or fits into a Raspberry Pi project.
- PVT
- Position, velocity and time data reported by a GNSS receiver. Knowing the PVT update rate helps you judge how often the board can provide basic navigation information to your project.
- Qwiic
- Qwiic is a plug-in connector system for I2C devices that uses small 4-pin cables, so you can connect compatible sensors without soldering. It matters because your controller or adapter also needs Qwiic, or you will need a cable or breakout to wire it up.
- QZSS
- Japan’s regional satellite navigation system designed to improve coverage around Japan and the Asia-Pacific region. QZSS support can improve satellite availability in supported regions when used alongside GPS.
- RMS
- RMS is a way of describing the effective level of an AC signal, such as an audio output voltage. It helps compare audio output levels more meaningfully than a peak voltage number.
- RTCM 3.x
- RTCM 3.x is a standard data format used to send GNSS correction information from a base station to a rover. It matters because both ends of an RTK setup need to understand the correction format to achieve high-accuracy positioning.
- RTK
- Real-Time Kinematic positioning is a GNSS technique that uses correction data from a base station to greatly improve location accuracy. It matters if you need centimetre-level positioning for robotics, mapping, surveying, or tracking rather than ordinary metre-level GPS accuracy.
- SBAS
- Satellite-Based Augmentation System, a set of regional services that broadcast correction information for GNSS receivers. SBAS can improve ordinary GPS-style positioning, although it is not the same as centimetre-level RTK correction.
- single-board computer
- A complete computer built onto one circuit board, usually including the processor, memory, ports, and connectors. This matters because accessories like heatsinks must match the board’s layout and mounting holes to fit properly.
- SMA
- A threaded coaxial connector commonly used for antennas. It matters because you need antennas with matching SMA connectors, or suitable adapters, for the LTE and GNSS antenna ports.
- SPI
- A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
- u.FL
- u.FL is a tiny snap-on antenna connector often used on compact wireless boards. A board with u.FL usually needs an external antenna, which matters if the product will be inside an enclosure or needs better antenna placement.
- UART
- UART is a simple serial connection that sends data over separate transmit and receive wires, often labelled TX and RX. It matters because this module is designed to replace a wired UART cable with a wireless link while keeping the same serial data format.
- USB-C
- A modern reversible USB connector used for power and data connections. On this product it matters because it can connect directly to a computer as well as to a microcontroller project.
- WAAS
- A North American SBAS service that provides correction data for GNSS receivers. It matters if you are using the product in a supported region and want better non-RTK positioning accuracy.
Find this product in
Raspberry Pi
Sensors & Input
GNSS Flex pHAT Schematic
Schematic · 124.0 KB · Click any page to view full size
GNSS Flex pHAT Board Dimensions
Mechanical Drawings · 236.3 KB · Click any page to view full size
Quectel LG290P Product Brochure
Product Brief · 195.2 KB · Click any page to view full size
LG290P RTK Application Note
Document · 1.7 MB · Click any page to view full size
LG290P Base Station Mode Application Note
Document · 1.2 MB · Click any page to view full size
LG290P GNSS Protocol Specification
Datasheet · 736.3 KB · Click any page to view full size
LG290P Hardware Design Guide
User Guide · 1.4 MB · Click any page to view full size
LG290P Firmware Upgrade Guide
User Guide · 519.2 KB · Click any page to view full size
IM19 IMU Integration Guide
User Guide · 283.9 KB · Click any page to view full size
Supplier page — sparkfun.com
Supplier Description · 1.1 MB · Click any page to view full size
Resources & Downloads
Guides, code examples, and more