Towards Navio+ & Piksi RTK

Hello everyone,

I’m im currently working on UAV that relays on cm lvl accurate real time position. I have purchased 2 Piksis and together they work very well. They can output RTCM or NMEA on eather USB or UART serial port and I’m trying to use that data for APM autopilot (as a second GPS). What type of navigation data does APM expect as second GPS? Has anybody ever attempted to use Piksi as RTK solution for Navio/Navio raw/Navio+?


Hello Antun,

You can hook up NMEA GPS as the second one for sure. Protocol is auto detected.

Antun -

Are you getting reliable cm-level relative position? What kind of antennae are you using?

@timkaiser @igor.vereninov

After a few days of bad weather I finally did proper test with piksis outside (on the rooftop of my building) and I’m getting impressive results (RTK fix in just a few minutes and differential resolution around 5-10 cm in few meters radius). I’m using low budget antennas for testing - Bluebird 8.25 € GPS antennas. After testing was done I tried to connect one Piksi with Navio+ over UART port with 115200 baud rate. 2nd piksi turned off, just to confirm that Navio+ and piksi can communicate over UART port, with single point GPS mode. I used preassembled UART cable that came with piksi and it’s used for concecting piski with his RC antenna. Mission planer was set up with: GPS_TYPE2 - 1, SERIAL4_PROTOCOL - 6, SERIAL3_BAUD - 115 and it wasn’t detecting any 2nd GPS unit. I was playing with parameters for quite a while and still nothing. The thing that confuses me is that UART port on Navio+ is 6 pin connector and UART port on piksi is 5 pin connector, do anybody know exact pin layout of Navio+ UART port and why is it using 6 pins? I tried looking it up in docs and didn’t find anything. Any suggestions on connecting Piski with Navio+?

As I had to learn, there is no support for dual gps in Ardupilot on Linux yet.
You can define the second gps as the only (primary) gps via the -B startup option. If you just plug it in, it will be ignored. Navio(+) is only IMU hardware. The UART port on the Navio is the forwarded UART of the Raspberry Pi. The APM firmware running on the Raspberry Pi must support the second GPS.

UART port on Navio is 6-pin because Pixhawk also has 6-pin UART and we wanted to make it compatible. The pinout of the port is printed on the bottom side of the board under the port. Piksi says to include a cable for Pixhawk - it should also be compatible with Navio.


We’ve introduced support for second GPS (-E port) recently in the navio-experimental branch:
It should work the same way as on Pixhawk.


Does the experimental branch (I have been running it on my RAW with a standard Rpi) support the RPi2 yet?



For now with RPi2 use navio-rpi2 branch, it’s the same as navio-experimental, but for RPi2.

Perfect. Thanks. So I can use the -E switch with this branch?


Yes, second GPS (-E) will be used if it’s fix status is higher than the one of the first GPS.

I´ve been strugling to get Piksi working with Navio+ for a couple of days and still could get it done.
Do you guys managed to figure out a way to make it work?