| | |

Septentrio mosaic-G5 Pixhawk Integration Guide: RTK Centimeter Positioning & Dual-Antenna Heading

This complete guide integrates the official PX4 driver documentation and Septentrio factory manuals to cover the full setup of Septentrio mosaic-G5 series GNSS receivers with Pixhawk flight controllers — including UART and DroneCAN wiring, PX4 and ArduPilot configuration, RTK centimeter-level differential positioning, and dual-antenna GNSS heading calibration. It is designed for UAV surveying and mapping, power-line inspection, and low-altitude autonomous driving developers.

1. Supported Hardware & Firmware Overview

This guide applies to the following Septentrio GNSS modules and Pixhawk flight controller integrations:

Hardware List

Module Description
mosaic-G5 P3 Single-antenna high-precision RTK positioning module, full constellation, full frequency band
mosaic-G5 P3H Dual-antenna heading module with native GNSS heading output — no magnetometer required
mosaic-go G5 Evaluation Kit Serial direct-connect version with COM1/COM2 interfaces
ARK G5 RTK GPS DroneCAN bus version with integrated IMU, barometer, and magnetometer
AsteRx-m3 Pro / Pro+ Industrial-grade dual-antenna receivers, switchable between rover and base station modes

Firmware Requirements

Firmware Requirement
PX4 v1.15 or newer (Septentrio driver built in by default)
ArduPilot 4.5.0 or newer (SBF protocol driver)

Core Technical Specifications

Parameter Specification
Positioning accuracy RTK fixed solution ≤ 2.5 cm
Data update rate Up to 20 Hz (DroneCAN) / configurable output rate

2. Hardware Wiring (Serial vs. DroneCAN)

Option 1: Direct UART Serial Connection (mosaic-go G5)

COM1 interface pinout (6-pin JST GH):

Pin Signal Description Connect to Pixhawk
1 VCC 5V power input 5V
2 TXD Serial transmit (to flight controller RX) RX
3 RXD Serial receive (from flight controller TX) TX
4 GND Ground GND
5 nRST Reset (optional)

Important warning: The mosaic-go G5 wiring is NOT compatible with standard Pixhawk GPS modules. Never plug a standard 6-pin GPS cable directly into it — this may burn out the module.

Wiring essentials:

  • Connect the receiver to the Pixhawk GPS1 or GPS2 hardware serial port
  • Must disable the native GPS driver: GPS_1_CONFIG = Disabled (prevents port conflicts)
  • Main receiver port parameter: SEP_PORT1_CFG = GPS1
  • Secondary receiver port parameter: SEP_PORT2_CFG = GPS2

Option 2: DroneCAN Bus Connection (ARK G5)

Use the Pixhawk standard 4-pin JST GH CAN cable and connect to the flight controller CAN1/CAN2 ports.

ARK G5 hardware parameters:

Parameter Specification
Built-in module mosaic-G5 P3, 20 Hz positioning update rate
Integrated auxiliary sensors IIS2MDC magnetometer, BMP390 barometer, ICM-42688-P 6-axis IMU
Power 5V / 270 mA
Dimensions 48 x 40 x 15.4 mm, weight 13 g
Included accessories Full-band GNSS helical antenna + CAN cable

3. PX4 Flight Controller Configuration (Serial)

3.1 Firmware Pre-Check

PX4 v1.15+ includes the Septentrio driver by default. To verify: connect the flight controller in QGroundControl, then search for the Septentrio parameter group in the parameter list.

If the group is not found, enable CONFIG_DRIVERS_GNSS_SEPTENTRIO=y in the board-level Kconfig and recompile the firmware.

3.2 Core Parameter Configuration

Parameter Value Description
GPS_1_CONFIG Disabled Disable the native GPS driver to free the port
SEP_PORT1_CFG GPS1 Main receiver mount port
SEP_PORT2_CFG GPS2 Second receiver (optional)
SEP_AUTO_CONFIG Enabled (default) Automatically configure receiver parameters
SEP_OUTP_HZ 10 Positioning data output rate; 10–20 recommended for RTK
SEP_HARDW_SETUP Default / Moving base Hardware mode selection
SEP_STREAM_MAIN 1 Main navigation data stream number
SEP_STREAM_LOG 2 Log data stream number (must differ from MAIN)

3.3 Serial Baud Rate Configuration

The driver automatically detects the receiver baud rate, or you can set it manually.

Scenario Recommended baud rate Description
Basic positioning 115200 Minimum reliable communication rate
RTK differential positioning 460800 Ensures differential data is not lost
High update rate (20 Hz) 921600 First choice for high-bandwidth scenarios
Fallback default 230400 Used when automatic driver detection fails

Non-standard baud rates (500000, 1000000) are supported but not recommended. On error, the driver automatically degrades to 230400.

4. PX4 Flight Controller Configuration (DroneCAN — ARK G5)

Parameter Value Description
UAVCAN_ENABLE 2 Enable DroneCAN sensors (set to 3 if also using CAN ESCs)
UAVCAN_SUB_GPS Enabled Subscribe to DroneCAN GPS data
UAVCAN_SUB_MAG Enabled Subscribe to magnetometer data
UAVCAN_SUB_BARO Enabled Subscribe to barometer data
SENS_GPS0_OFFX/Y/Z Relative to CG 3-axis mounting offset

5. ArduPilot Flight Controller Configuration (Serial)

Parameter Value Description
GPS_TYPE 26 Septentrio SBF protocol driver
SERIALx_PROTOCOL 5 Set the corresponding serial port to GPS protocol
GPS_AUTO_CONFIG 0 Disable auto-configuration to avoid conflicts

Dual-Antenna Heading Mode (P3H)

Parameter Value Description
GPS_MB1_TYPE 1 Enable dual-antenna heading mode
GPS_MB1_OFS_X/Y/Z meters 3-axis antenna baseline offsets
EK3_SRC1_YAW 2 Prioritize GNSS heading, override the magnetometer

6. Dual-Antenna GNSS Heading Deployment

Option 1: Integrated Dual-Antenna Receiver (mosaic-G5 P3H)

Connect both antennas and the flight controller auto-detects. Only these settings are required:

  • SEP_HARDW_SETUP = Default
  • SEP_YAW_OFFS = heading angle offset
  • SEP_PITCH_OFFS = pitch angle offset

Option 2: Dual Single-Antenna Moving Base

Connect two single-antenna receivers to the GPS1 and GPS2 ports:

  • SEP_HARDW_SETUP = Moving base
  • SEP_PORT1_CFG = rover (main antenna, rear)
  • SEP_PORT2_CFG = base station (auxiliary antenna, front)

Mandatory Antenna Mounting Rules

Item Requirement
Baseline distance ≥ 30 cm, ≥ 50 cm recommended (longer baseline = higher heading accuracy)
Mounting height Phase centers of both antennas should be as level as possible
Mounting direction Along the fuselage longitudinal axis, main antenna rear, auxiliary antenna front
Offset compensation Configure SEP_YAW_OFFS / SEP_PITCH_OFFS when mounting direction is off-axis
Electromagnetic shielding Keep away from motors, ESCs, and high-voltage cables
Obstruction control Avoid antenna obstruction and multipath reflection

Core advantage: GNSS heading is completely independent of the magnetometer — ideal for strong magnetic field environments such as power-line inspection and heavy UAVs.

7. RTK Centimeter-Level Differential Positioning

7.1 Differential Link Options

Option Description Best for
Ground base station Same-model receiver outputs RTCM3 differential data, sent over the telemetry link Local operations within controlled range
NTRIP network Flight controller telemetry connects to an NTRIP server for differential data Wide-area operations with network coverage

7.2 Positioning Status Levels

Single-point positioning (2–5 m) → RTK float solution (decimeter-level) → RTK fixed solution (centimeter-level)

8. Log Configuration & Troubleshooting (FAQ)

Q1: Septentrio parameter group not visible in QGC?

Check: PX4 firmware is older than v1.15, or the driver was not compiled into the firmware.
Fix: Upgrade to the latest stable firmware, or enable CONFIG_DRIVERS_GNSS_SEPTENTRIO=y in Kconfig and recompile.

Q2: No GPS positioning data on the flight controller?

Check: TX/RX reversed, no common ground, receiver not outputting SBF protocol, or the port is occupied by the native GPS driver.
Fix: Verify the wiring (RX↔TX crossover); confirm GPS_1_CONFIG = Disabled; check that the receiver has SBF output enabled.

Q3: RTK cannot reach a fixed solution?

Check: Differential link packet loss, severe antenna obstruction, insufficient satellite count, or mismatched differential data format.
Fix: Raise the telemetry baud rate to 460800 or above; optimize antenna placement; confirm the base station and rover use matching frequency bands.

Q4: GNSS heading drifts or is inaccurate?

Check: Antenna baseline too short, antennas not level, mounting direction offset, or antenna phase centers not aligned.
Fix: Extend the baseline to ≥ 50 cm; mount antennas at equal height; correct with the SEP_YAW_OFFS offset parameter.

Log Configuration Parameters

Parameter Values Description
SEP_LOG_HZ 0–10 Logging frequency (0 = disabled)
SEP_LOG_FORCE Enabled / Disabled Enabled = overwrite old logs, Disabled = append
SEP_LOG_LEVEL Lite / Basic / Default / Full Log detail level
SEP_DUMP_COMM Enabled / Disabled Record all serial traffic between flight controller and receiver

MAVLink Console Debug Commands

Command Function
septentrio status View receiver health, satellite count, positioning accuracy
septentrio start Start the Septentrio driver
septentrio stop Stop the driver
septentrio reset cold Cold reset (restore factory ephemeris, reset all parameters)
septentrio reset warm Warm reset (clear cached positioning data)

9. Companion Tools & Official Resources

Tool Purpose How to get it
RxTools / RxControl Septentrio receiver configuration, monitoring, and data analysis Official website customer support download page
QGroundControl PX4 official ground station Open source, free
Mission Planner ArduPilot official ground station Community maintained

10. SEO Structured Data Recommendations

To improve display in Google featured snippets and search results, embed the following schema markup on this page:

Image Alt Text Recommendations

  • alt="mosaic-go G5 COM1 6-pin JST GH pinout wiring diagram"
  • alt="PX4 Septentrio core parameter configuration table — GPS_1_CONFIG, SEP_PORT1_CFG and more"
  • alt="Dual-antenna GNSS heading mounting rules — 50 cm baseline along the fuselage longitudinal axis"

Similar Posts