Adding 2nd GPS on Navio2


As an upgrade for my Navio2 configuration, with latest Arducopter 3.5.0-rc2 software, I will use 2 GPS units.

I have a spare Drotek M8N + Compass module,

UART and I2C plugs are free on the Navio. I stream telemetry via USB.

According to Navio documenation, Ext GPS is on Serial4 - UART E,

/etc/default/ardupilot is edited accordingly:

ARDUPILOT_OPTS="-A udp: -C /dev/ttyUSB0 -E /dev/ttyAMA0"

I2C detection is automatic.

In Mission planner parameter list, GPS_TYPE2 is set to 1 (Auto), GPS_AUTO_SWITCH is set to 1 (enabled), SERIAL4 is set for GPS at 38400.

External GPS compass is set as Compass #3, with Roll180. Not yet calibrated by heading is coherent.

Under my roof window, GPS detection is quite fine on the two units. At the field I have around 14 sats with Navio GPS.

GPS are identified in the Msg window

I will have to wait a few days (bad weather).


1 Like


First flight OK.

Here is the N_SAT graph:

M8N 3.0.1 is GPS2 with GPS-GNSS-Galileo
M8N 2.0.1 is GPS1 (Navio2 GPS-GNSS)


1 Like

Hello Marc,

Very interesting, I hesitated to buy the Drotek GPS a few months ago, would you have the graph
showing hdop for GPS1 & GPS2 please ?



I’m looking to upgrade the Navio GPS firmware. No way to do it with the Pi application. So I will try with FTDI and Rx-Tx pins on the chip.


Hello, Marc!

You might try our TCP bridge utility. There’s a chance Ublox supports updates over SPI. If it doesn’t work out for you, you can use the FTDI approach.


I tried twice, second time after disabling ardupilot. Flash process seems to be OK but there is no end after the blue bar is full. After cold start, firmware is still 2.0.1.

I keep you in touch for the serial flash result.



No way to use UART when SPI interface is enabled (Pin 2 to Ground).

I will try USB today,


Above my pay grade. I will wait next Navio version with USB plug integrated (or SPI working upgrade procedure).



2nd GPS experiment going fine.

There are some limitations (performance) with the M8N.

According to uBlox documentation, M8N with firmware 3.01 can be configured to scan GPS, GLONASS and Galileo constellation, but with a refresh rate of 3Hz, below the 5Hz minimum of Arducopter.

So I choose to configure the external GPS with GPS, GNSS and sBas, at 5 Hz, like the internal one.

Today I had a try at latest 3.5-rc8 Arducopter version.

There is a little video of the second flight (airborne) with Stabilize mode Take-Off, Pos hold, some translation, one U-Turn and RTL sequence.



Tip: you can attach a GPS module which has a USB port (like the OP’s Drotek module) through one of the Raspberry Pi’s USB ports and reference it by its corresponding character device (/dev/ttyACM0 on Ubuntu).

This is for the cases when you want to utilize your Navio2’s UART port for telemetry or other communications.

2 posts were split to a new topic: Navio2 with second GPS module