Connecting Emlid Reach to QField iOS

Hi folks,

I’m wondering if anyone has successfully connected their Reach module, (or any GNSS receiver for that matter) to Qfield iOS?

Qfield does support external GNSS connections, the Android OS supports this via Bluetooth while iOS connects via NMEA streams through TCP, or UDP connections.

I’ve added my connection from within QField, and the receiver does seem to make a connection sometimes, but no positioning information gets passed along to QField. I’ve tried rearranging the host and port settings in every logical way I can sort, but I’m still getting no positioning information in QField.

I’m connecting a Reach M2 to multiple different iDevices with the same result each time, and I can confirm the M2s are functional and working fine by using them in Emlid Flow.

Any experience or helpful information on this topic would be greatly appreciated.

Cheers,
Chris


Imported from GitHub discussion by @chriscam1964 on 2023-05-08T20:08:06Z

Hi chriscam,

I have no personal experience with the Emlid Reach module. Can you connect to your Emlid receiver via Bluetooth and use a companion app (Emlid Flow?) that overwrites the internal device location? If so, this might be the easier route to go. For example, I run a Trimble Catalyst DA2 with my iPad/iPhone (iOS) via Bluetooth connection.

To use my GNSS receiver, I must first connect it to the Trimble Mobile Manager app, which can feed the location to the iOS and overwrites the internal device location. QField utilises the internal device location (overwritten by the GNSS). What is frustrating to me is that it will still display a horizontal accuracy of 5m even though I am running the GNSS receiver at sub-meter accuracy. The Trimble app itself displays the accuracy correctly. As far as I understand, the iOS environment is very picky about who is allowed to feed data to its location services or given access to it.

If Emlid Flow overwrites the internal device location, you could run QField without setting up TCP or UDP connections.

Good luck,
M.


Imported from GitHub comment by @Meykaefer on 2023-05-09T01:27:30Z

Hey Meykaefer,

Thx for the reply.

Yes, I’ve read about the possibility of GNSS apps feeding the location to the iOS and overwriting the internal device location. I’ve been experimenting with it. I do use Emlid Flow, and can indeed connect the Emlid M2 to Flow with both Bluetooth and the Emlid’s hotspot wifi. While doing so however, even though the H. Accuracy displayed in QField walks down to 6.001m, (and my hope of course it’s actually submeter), when I compare the coordinate pairs measured by the GNSS in Flow to the coordinate pairs measured in QField, there is discrepancies on the order of several tens of meters. Also, when plotted on a map, the coordinate pairs measured by GNSS in Flow are located exactly where they should be while the coordinate pairs measured in Qfield are pretty wildly off again by tens of meters.

So it seems to me as though Flow is not feeding the location data to iOS and overwriting the internal device location. Honestly, I get much better results with a good old Garmin Glow connected via Bluetooth to iPhone/iPad. So the Glow must be overwriting the internal device location, but no cigar with Emlid it seems. This is why I would like to try setting up TCP or UDP connections, to see if it works as it should, … but I agree with you, I would love to have the GNSS simply overwrite the internal device location. That would be the easiest way around it all. I can and do of course just use Flow for RTK terrestrial surveys, but it would be really nice to have accurate survey and mapping data syncing forward and backwards into my QGIS projects with QField.

Thx again for your help, I’ll post an update if I get either solution working correctly.

Chris


Imported from GitHub comment by @chriscam1964 on 2023-05-10T01:18:40Z

No problem. It is very frustrating that iOS is so picky with the location services and how it uses them.

There is also a way to test and see if your device uses the GNSS receiver location, a mix or even ignores it. I am trying to remember where I read it, but it was on a homepage of a GNSS device manufacturer.

As far as I remember, the gist of the test was to place the GNSS receiver in a good location with a good signal and then walk away from it with your connected device (about 8-10m). After being in position and still connected to the GNSS, you start walking a circle around the GNSS receiver. If the device uses the GNSS receiver, the dot showing your location in your app should remain stationary. If your device uses a mix, it will jump back and forth. If it ignores or can’t access the GNSS data sent by the receiver, it will move with you and the device’s location.


Imported from GitHub comment by @Meykaefer on 2023-05-10T15:49:08Z

in case it helps, Ill just add, i have used the emlid RS and R2 both with qfield on android via bluetooth and it works fast and reliably. 1m waas and verified centimeter RTK/PPK. its on my short list to borrow a ipad from work and verify the connectivity. disappointing to hear your issues since it sounds like your on the right track and have verified via Emlid Flow.


Imported from GitHub comment by @r3tlove on 2023-05-19T19:51:49Z

So I eventually got my Emlid GNSS receiver properly connected to QField iOS with help from Emild. If it helps anyone else out of this bind, I’ll attach an image of the solution:


You’ll find this TCP setting in the Reach Panel.


Imported from GitHub comment by @chriscam1964 on 2023-05-28T05:44:23Z