Correction data via telemetry link vs. LoRa in Ardupilot environment

So the simple question is, which is better?
(yeah, I know ones ‘better’ may be others ‘worse’)

According to my understanding, if correction data is been transmitted via LoRa then onboard M2 will report already accurate location to pixhawk, while using telemetry link requires some magic from RTKLIB (brobably used also inside M2)

Target platform is quadcopter drone - so obviously adding more weight is not the optimal solution.
…Unless there is some benefits from additional radiolink.

Hi Heikki,

If your autopilot software allows transmitting RTK corrections with telemetry (and Ardupilot does support that), then I would go this way. No need for external LoRa on board and no need for the additional components to configure!

1 Like

Thanks for the reply

Am I able to somehow utilize computing power of M2 - and some how improve positioning of the drone? As now it seems that I’m “only” utilizing the GNSS module onboard (M2), without (possible) benefits from rest of the module.

Hi Heikki,

The main purpose of Reach M2 is to calculate position, so believe me, you utilize it enough :slight_smile:

You can play with settings a bit. You can change the position and output update rates to higher values so the autopilot will get its position more frequently. You can also change tracked GNSS constellations.


Will play with it - for sure.
(currently waiting for dual band antenna for it - and meanwhile studying how to hook it to ardupilot (pixhawk).

I was actually wondering how M2 do the job differently from just “plain” dual band GNSS module - as there is of course additional computing power available from it’s quadcore system. As now, for me at least, it seems that in my application the quadcore system is only relaying serial traffic between autopilot and GNSS-module.

So far I have not been able to figure out how to utilize computing power to improve positioning (or some other feature compare to "plain GNSS module setup) - but I’m on learning curve here, so I may be missing something.

There is one (job for the quadcore system) I was missing: ERB-protocol - this remove some parsing of NMEA messages from autopilot (probably not big issue for pixhawk, but maybe (probably) more efficient use of serial communication). I noticed it is no longer recommend to use, but is it still included in firmware? Or will it be removed some day from it?


The things that can be configured are in front. First, you should place the GNSS antenna properly on the drone. The other way is to configure settings in the ReachView 3 app according to your application.

Configuring your autopilot to receive corrections from the base or NTRIP service also significantly improves the accuracy of positioning.

You can use the ERB protocol. It is still in the firmware but is not supported anymore. We don’t have plans of updating it in case of any changes in ArduPilot software. That is why we recommend using NMEA 0183 format for position streaming.