GPS setup

CC3D GPS Navigation

CC3D and Atom boards do not support GPS navigation features like RTH, PosHold, waypoints...

Only Revolution, Revolution Nano and Sparky2 can use GPS for navigation.


GPS sensor is needed for every autonomous features, this sensor provides:

  • position with Lat/Lon coordinates and altitude,
  • velocity
  • time

Preferred protocol is UBX, more efficient than NMEA and should provide a most accurate velocity state.

Another thing to consider when GPS features are wanted: refresh rate, at least 5Hz.

A GPS without a compass/magnetometer has some value when flying FPV with an on screen display (OSD) or returning data to the LibrePilot Ground Control Station (GCS). Telemetry, such as altitude or ground speed and distance may be available. Recording latitude and longitude could be available and would be useful attempting to locate a lost craft.

Capabilities NOT available without a properly functioning compass/magnetometer are all GPS Flight modes like GPS Assist, PositionHold, CourseLock, VelocityRoam, HomeLeash, AbsolutePosition, ReturnToBase, Land, PathPlanner and AutoTakeOff.

Although the Revolution flight controller has an on-board magnetometer it cannot provide dependable data for smaller craft (250mm).

In this page


GPS wiring

GPS can be connected to the Main Port Flexi Port or FlexiIO (Revolution), optional I2C mag can be connected to FlexiPort. (16.09 release)
Be sure the Tx/Rx lines are crossed and external power source (+5v) is connected or board cannot talk with GPS.

MainPort / FlexiPort pinOut

ColorPinElectrical limitsSerial functionI2C function

Red2limits 4.8V - 10V
4.8 - 5.5V,
check GPS voltage.
PWR Out (VCC Unregulated)PWR Out (VCC Unregulated)
Orange43.3V (5V Tolerant)RXSDA

Naza GPS

This GPS own a magnetometer, the position and magnetometer data are send to the board using DJI protocol.
Can be connected to the FlexiPort, MainPort or FlexiIO (Revolution). Others ports left can be used for telemetry.

Hardware tab

Magnetometer config

Mag type to DJI


I2C magnetometer is connected to the FlexiPort and ublox gps to the MainPort or FlexiIO (Revolution)

Hardware tab

Magnetometer config

Mag type to Flexi (can be I2C using extra I2C port on Sparky2)


This genuine OpenPilot GPS (discontinued) does the same as the DJI Naza GPS, position and mag data are send to the board using extended UBX format.
Can be connected to the FlexiPort, MainPort or FlexiIO (Revolution)

Hardware tab

Magnetometer config

Mag type to GPSV9.

Ublox GPS

This is a simple ublox based GPS type, position data is send to the board using UBX format.
Can be connected to the FlexiPort, MainPort. or FlexiIO (Revolution)

Hardware tab

Configure GPS

Except CC3D or Atom board that need a manual GPS configuration, the other boards like Revolution, Sparky2 or Revo Nano uses autoconfig feature.
The autoconfig is only done using Ublox type modules connected, (Naza GPS do not support autoconfig)

Hardware tab

If you changed manually a port to GPS use in Hardware tab you may need to reboot board to apply changes first time.
(See configuration examples above)

Next if you change baudrate reboot is no more needed and changes applied automatically after click the Save button

Extended GPS options

Some GPS (with UBX protocol) options can be changed:

  • UBX: protocol used same as protocol set in Hardware tab,
  • MaxPDOP: max error admitted for GPS use,
  • MinSatellites: Minimal number of satellites needed.

For UBX GPS only:

  • UbxAutoConfig: AutoBaudAndConfigure, keep like that but a "Store" option can be added.
  • UbxRate: Default 5Hz, can be set to 10Hz or more using recent Ublox Neo8 modules

Next options should be fine per default, if you want to learn more read Ublox documentation.

Every change in UAVOBrowser can be saved using the button.


Check SystemHealth panel for alarms

Autoconfigure status can be monitored, go into System tab > UAVOBrowser > Data > GPSPositionSensor.

  • look at AutoconfigStatus and Baudrate