RTK correction Navio2 using Reach M+ LoRa modules


I’m trying to get RTK correction working on a remote lawnmower (using a RPi and Navio2) with a pair of Reach M+ devices.

The Navio2 is running the latest (downloaded last week) Emlid raspbian image and is running Ardurover 3.5.1.

Both Reach M+ devices are running ReachView v2.18.1.
Because we need to cover a large area (up to 1/2 mile distance between base and rover, both of the Reach M+ devices are equipped with the Reach M+ LoRa radio.

Rover setup (note: NO GPS antenna on Navio2 itself)
Navio2 (With 433Mhz stick in UART) > Pi USB port > Reach M+
Connected to the Reach M+ are: The GPS Antenna and the (Emlid) LoRa radio (using included 7-pin cable).
Rover Correction input:

Rover position output:

Base setup:
Reach M+ with GPS Antenna and (Emlid) LoRa radio(connected using included 7-pin cable).
Base mode settings (LLA zero for reasons…):

Base RTK settings:

I followed the Ardupilot Integration to a T but the guide and I had to part ways when the guide used the telemetry to inject the RTK from the GCS as I need to use the RTK broadcasted by the base.

I don’t think the problem is in the LoRa communication as the ReachView interface on the rover shows the correct RTK correction bars (grey bars) and the RX/TX lights light up properly, same baudrate, frequency and protocol.

Content of /etc/default/ardurover:
TELEM1="-A udp:"
TELEM2="-C /dev/ttyAMA0"
REACH="-E /dev/ttyACM0"

My problem seems to be, I can’t get GPS2 working, most likely because of a misconfiguration.
I was hoping someone else can spot what I’ve missed.

After I changed SERIAL0_BAUD (USB?) and nothing happened, I also changed SERIAL4_BAUD (UART).
Some people on the forum used ‘SERIAL4/0_PROTOCOL 5’ for their 2nd GPS, but this didn’t help either…
I found one person who had to change the RTK update rate to 5Hz to get it working with his PixHawk but alas, to no avail.

Sat Count is always zero. Both when using position output with NMEA and ERB (and changing GPS_TYPE2 accordingly) and it never get’s a fix.

Hi @Quentin,

Which GCS do you use?
Have you specified 1 in GPS_TYPE2, 57600 in SERIAL4_BAUD and 1 in GPS_AUTO_SWITCH parameters?

Please also post the output of dmesg | grep -i tty

I am using Mission Planner v1.3.68.

SERIAL4_BAUD: 57 (so 57600)

dmesg | grep -i tty:
[ 0.000000] Kernel command line: 8250.nr_uarts=1 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[ 0.001123] console [tty1] enabled
[ 1.161658] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
[ 12.747277] cdc_acm 1-1.5:1.2: ttyACM0: USB ACM device

After reseting all properties I ‘customized’ (SERIAL4_PROTOCOL etc.) I’m still getting Sat Count2: 0, but ‘Gps Status2’ has changed to 1, which should be “detected, no fix”. (So a good start)

So I opened up ReachView on the Rover (indoor) and the solution status got up to ‘float’, but the lat/lng in MP didn’t change from 0. Does the Reach M+ not send out the lat\lng without solution status ‘fix’?

Hi @Quentin,

May I ask you to test with 38400 baud rate?

You should change it both in ReachView and MP.

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.