Pixhawk V1 + SiK 915MHz Radio over UART

I’m having trouble understanding the setup for my Pixhawk-quadrotor and the basestation setup.

I have the Rover working on the Pixhawk, confirmed DGPS lock with Mission Planner.

The problem is that the Base is not connecting to the rover (despite the green status LED on radios, and flashing red to confirm its transmitting data).
Also it is seems to be dead when I run IPscanner… I’ve tried re-flashing, I can’t connect to its specified IP either.
Note the active one is the rover, and the web-page comes up when requesting its IP – doesn’t work for Base.

Solutions: I’ve tried to start up the base before the rover & rover before the base - the latter works, but rarely. The base typically just re-boots until a USB device not recognized appears (when plugged in, otherwise just reboots continually).

Here’s the pic the the set-up the radio on the quad is green, just hard to see at the angle. Green LED on Rover Emlid reach. Purple LED on Base-reach. You can also see I spliced the Base’s tx/rx lines as per the EMLID documentation.
Do I have to do the same for the rover? on the serial 4/5 port side or the telemetry module’s side?

I have also been unable to setup the GPS-inject (due to the base problems).

Please read the ardupilot integration tutorial on the docs, it explains step by step how to configure stuff. Once you follow that one and get the connections right, it will sort of work.
The GPS course over ground will be wrong and the blending/switching of two GPS will not work in ardupilot due to Reach bugs. I’m working on improving the integration with ardupilot, and fixed those bugs in Reach, but Emlid did not integrated them in the official release yet.
So you will need to disable your first GPS or recompile the reach source code with my PRs applied.

I also already managed to completely disable the WLAN on both Base and Rover WITHOUT losing information ( I still have differential age, baseline and AR ratio information on the GCS :slight_smile: )
So less interference, more reliability and a single pair of 3DR radios are required.


after that:

  • wait until they fix the accuracy information and it will start to work but you still need to carry a laptop with WLAN into the field to be able to monitor AR ratio and diff age.

after that:

  • Wait some more until I get the changes integrated in the ardupilot codebase (PR is already in place) and you will be able to disable WLAN on the laptop and both reach devices without losing any feature :slight_smile: and it will reduce interference on the GPSs :slight_smile:

Or: recompile the reach code from source and get this working NOW

Are you saying is that the Emlid Reach RTK doesn’t integrate completely with Pixhawk (Ardupilot) with long range radios and dual GPS?

-So is your communication over serial with the SiK radio actually working or are you using TCP?
-What did you alter in the code (ardupilot and/or reach)? How do I recompile reach code to the module? Is it a grueling task?
-Have you tried flying with reach as primary and only GPS? What were your results?

Came across your post in this topic which is related, can you comment on the parts I bolded/italicized.
Wondering if these four (4) main bugs have been fixed?:

I have been optimistic about Reach as my UAV RTK solution,I recently bought a Reach.Do not know how to connect Reach to Pixhawk2.1.[https://docs.emlid.com/reach/ardupilot-integration/] From here I learned about connecting Reach to Pixhawk.I do not know Reach DF13 connector should be connected to Pixhawk2.1 which interface?
I am now connecting the Reach DF13 connector to the Pixhawk2.1 GPS2 pin, just picking up the 4pin line: VCC, RX, TX and GND, do not know if it is correct? Hope anyone can help me, thanks!
Very much looking forward to your reply!

Okay I got it to work with this error that keep coming up. Note this is over TCP not Serial. And the Base-reach’s LED status is still cycling.

A single pair of SiK radios for both telemetry and RTK corrections. Reach base is connected to PC via USB, and set as a TCP/IP server on

Take a look at my posts, I already described the process a lot of times, and yes it is not a simple process. The simple solution would be for Emlid to merge the changes that I proposed :slight_smile: and do an official release.

No I have not. I do not trust it that mucht. But hey,… try it out and tell us how it goes :slight_smile:

Do you have any results from this or proof that it works?

I want to know what to expect before I embark on the re-compiling and flashing process.

You will also need to be able to recompile the latest ardupilot and apply a couple of PRs to that one as well, so if doing these things is hard for you, just wait a while longer.

And yes it is tested and it works (I get the same data in the GCS as on the reach HTML GUI in firefox). We use Etas INCA as GCS over XCP. It allows to graph in real time the AR_ratio, diff age, and baseline in YT graphs, so it is nicer to debug and detect glitches. You do not need to keep your eyes on the numerical string value, just read the last couple on minutes worth of data in a graphic curve :). But for that you need our proprietary software.

If I find some time I’ll post a screenshot of QGCS and mavlink packet inspector. For that one you do not need proprietary software.