Is it possible to connect Navio2 and Reach via USB and receive corrections?


for my setup (added a picture below) I need the following information:

is it or will it be possible to connect Navio2 and Reach via USB and receive corrections from the base station via Mission Planner and a 433mhz radio?

how do you do that? Please update the docs for the information on how to connect to Navio2.

Thank you very much,

1 Like

Hello , Tobias!

Sure, it’s possible. You’ll need a USB-UART like CP2102 to get UART-stream from Reach.
Reach outputs solution to a UART which needs to be process by ArduPilot. It’s treated as a second GPS. To achieve this you just launch ArduPilot with an additional switch -E /dev/ttyUSB0. (-E is a switch for additional GPSs)

Other than that the instructions are applicable for Navio 2 as well as for Pixhawk.


so, just to clarify, the USB port on REACH receiver cannot send data to NAVIO2 without a seperate piece? This converts the REACH uart to raspi friendly usb com port?

Yep. Just configure position output to use Serial->USB-to-PC option. Works with Reach RS too.

Excellent, the USB-to-PC was the missing piece! Is it still ERB, or is that only for injecting into telemetry?


Is it possible to receive position output from the micro usb port on the “REACH RS (not the oem reach)” to putput to navio2 USB ?

What settings should I use?

Yes. You should connect Reach RS as a client, then choose Serial->USB-to-PC in position output options. That’s it. Make sure you update first, as some critical bugs related to USB-to-PC were fixed in the recent versions.

Ok thanks will try this today .

So basically

  1. connect to Reach RS via wifi .
  2. Update to 2.9.3 (which I already did)
  3. Change position output to Serial->USB-to-PC

What command on the raspberry pi do I issue to figure out what the USB port is to pass it onto ardurover
on the navio2 (-E ???)

Ok thanks guys ,

Tried it. worked like a charm.

Some additional notes for those who want to do interface with the Navio2.

Make sure you use the full fize USB port …not the micro usb as there are no data lines on that port, just power.

edit /etc/defult/arduXXXX file to include -E /dev/ttyACM0 … then set the baud rate accordingly in Mission planner .

See APM integration docs for reach module


I have noticed that when it comes to the USB interface …there is a possibility that the usb port can get renamed to a different dev label.

In my case I noticed that during my tuning process mission planner began to report rtk float while in the emlid viewer it was reporting a fix. I also noticed during this time that my positioning was very unstable. This led me to belive that the rover was using the onboard navio2 gps instead of the the reach rs.

upon inspection of the /dev/ directory . I noticed that the usb device had changed to /dev/ttyACM1 instead of /dev/ttyACM0. This of course did not match what was in my /etc/default/ardurover. But the weird thing was that mission planner maintained the rtk float message rather than display 3D GPS.

Is there a way to fix the dev channel assignment?

You can write a udev rule, that creates a symlink with a constant name for the desired dev. There are lots of tutorials on the Internet.