GPS & Compass
PX4 supports global navigation satellite systems (GNSS) (including GPS, GLONASS, Galileo, BeiDou, QZSS and SBAS) using receivers that communicate via the UBlox, MTK or Ashtech protocols, or via UAVCAN. It also supports Real Time Kinematic (RTK) GPS Receivers, which extends GPS systems to centimetre-level precision.
PX4 can be used with the following compass parts (magnetometers): Bosch BMM 150 MEMS (via I2C bus), HMC5883 / HMC5983 (I2C or SPI), IST8310 (I2C) and LIS3MDL (I2C or SPI).
When using Pixhawk-series flight controllers we recommend using a combined GPS + Compass (the Pixhawk internal compass is close to other electronics, and may be susceptible to electromagnetic noise).
Combined GPS/Compass Options
Some popular GPS/compass options include:
- Ublox Neo-M8N GPS with Compass (Hobbyking)
- mRo GPS u-Blox Neo-M8N Dual Compass LIS3MDL+ IST8310 (mRo store)
- Drotek uBlox GPS/Compasses (drotek)
- Holybro Micro M8N GPS Module (getfpv)
- Holybro Ublox NEO-M8N GPS Module (getfpv)
- Holybro Pixhawk 4 GPS Module (UBLOX 8MN GPS + IST8310 compass + LED + Safety switch).
- Here GNSS GPS (M8N) (getfpv)
- Zubax GNSS 2 (zubax.com)
- 3DR uBlox GPS with Compass kit (getfpv) - Discontinued
Instructions for connecting the GPS and compass are usually provided by the manufacturer (at least for more common Autopilot Hardware).
Pixhawk Series controllers usually have a clearly labeled port for connecting the GPS, and the compass is connected to either the I2C or SPI port/bus (depending on the device). The Zubax GNSS 2 can also be connected via UAVCAN.
Pay attention to pinout when connecting the GPS module. While these are all software-compatible, there are several different pin orderings.
GPS configuration is handled transparently for the user (provided the module GPS connector is connected correctly). Compass setup is covered in: Compass Configuration.
Information about supported devices and setup/configuration can be found in the sidebar under: RTK GPS.