Skip to main content

How to integrate with Reach RX MFi

This guide explains how to integrate Reach RX receivers with your Android or iOS app using Bluetooth Classic for real-time position streaming.

Overview

All Reach RX revisions are compatible with Android apps via Bluetooth Classic; however, only the second version of Reach RX, which has MFi certification, supports Bluetooth Classic connection on Apple devices.

To verify if your Reach RX is MFi-certified, check the following:

  • the MFi marking on the box
  • the MFi marking on the bottom of the device
  • the last four numbers of the serial number are more than 2414
tip

Learn how to check the serial number of your Reach RX in the How to find serial number guide.

Connect your mobile device to Reach RX

To connect to your Reach RX, you need to pair it with your iOS or Android device. Do as follows:

  1. Power on your Reach RX.
  2. Go to your device’s Bluetooth settings.
  3. Find Reach RX in the list of available devices and select it to start pairing.
  4. Wait for your device to complete pairing with Reach RX.

Integrate with Reach RX

After pairing your iOS or Android device with Reach RX, you can integrate it to read Reach's position in real time within your app. The integration method depends on the Reach RX revision and can be done in two ways:

Access the NMEA stream directly

If you want more metadata about the position, the position quality, or the receiver, you will need to access and parse the NMEA stream directly. This is possibly for both platforms:

  • For iOS devices, this can be done by using Apple's External Accessory framework. Using this API, you can both read the NMEA stream and send corrections to Reach RX MFi. To read the NMEA stream, you need to use a special protocol-com.emlid.nmea.
  • For Android devices, this can be done using standard Bluetooth communication via Bluetooth Serial Port Profile (SPP). Android’s Bluetooth API allows direct access to the NMEA stream and sending RTK corrections without requiring specific protocol names. The API handles connection and data transfer.
tip

Learn more about the NMEA stream in the NMEA specification.

Use Reach RX MFi as a location source

For Reach RX MFi, the easiest way to integrate is to use it as the location source. The device on iOS will detect the data stream from Reach RX and use the location from the stream instead of the internal GPS unit. This technique is also called mock location.

Once connected, the standard iOS Core Location API will start reporting the location of the Reach RX MFi receiver instead of the iPhone or iPad's internal GNSS unit. If you previously relied on the Core Location framework, no development is required.

note

For Android devices, you can enable no-code integration using Android Mock Location and a third-party app such as Lefebure. Learn more from the Getting Reach coordinates on Android devices via Bluetooth guide.

Setting up corrections stream

To work in RTK with high-accuracy positioning, you will need to provide RTK corrections to the device. You can send corrections to Reach RX in the following ways:

  • For iOS devices, you can configure corrections stream within the Emlid Flow app and send them to your app in the background.
  • Alternatively for both iOS and Android devices, you can implement the NTRIP client functionality inside your app.

After setting up the corrections stream on your Reach RX, the integration is complete.

tip

Refer to the RTK Corrections and NTRIP Casters article for details on setting up a corrections stream sent from your device to the receiver.

Before app release

If you integrate your Reach RX MFi with an iOS app and are ready to submit the app for review, please contact us at developers@emlid.com and provide your app bundle ID. As the accessory manufacturer, we will whitelist your app.

We will also provide you with a special accessory PPID to include in your app metadata. This should be enough to get your app with the Reach RX support published on the App Store.