Skip to main content

NMEA specification

Overview

Reach RX2 MFi supports streaming of the following NMEA messages:

Message IDDescription
GGATime, position and fix type data
GSAGPS receiver operating mode, satellites used in the position solution, and DOP values
GST*Position error statistics
GSVNumber of satellites in view, ID numbers, elevation, azimuth, & SNR values
RMCPosition, velocity, and time
VTGCourse and speed information relative to the ground
ZDAUTC day, month, and year, and local time zone offset
EBP**RTK base position
ETC**Tilt compensation data

*When using compensated NMEA output, full accuracy is only available during the compensation stage. During tilt compensation setup, alignment, or when FIX is lost, GST precision remains at 1 m.

tip

You can enable NMEA message compensation in Emlid Flow, in the Integration with external software section.

**This is a custom Emlid NMEA message.

Reach RX2 outputs all the messages with the GN talker ID at the following frequences:

Message IDTalker IDDefault frequency
GGAGN5 Hz
GSAG*1 Hz
GSTGN1 Hz
GSVG*1 Hz
RMCGN1 Hz
VTGGN1 Hz
ZDAGN1 Hz
EBPGN1 Hz
ETCGN5 Hz

*Reach RX2 outputs GSA and GSV messages with the successive talker IDs-GP, GL, GA, GB.

Protocol

iOS device accessories shall declare at least one “SupportedExternalAccessoryProtocol” parameter in their identification information during authentication. This protocol is not standardized and allows for the exchange of any data between the device and its proprietary application on the iPhone.

For example, we use this protocol to send a standard set of NMEA messages to ArcGIS Field Maps. Reach RX2 creates special External Accessory profiles: com.emlid.nmea for sending NMEA messages. ArcGIS FieldMaps uses this profile for reading NMEA stream.

Exchange process is the following:

  1. iPhone sends StartExternalAccessoryProtocolSession (0xEA00).

  2. The device starts sending data.

  3. iPhone sends StopExternalAccessoryProtocolSession (0xEA01).

Emlid Tilt Compensation (ETC) message

ETC is a custom Emlid NMEA message that contains tilt compensation data.

Data contained

The message contains the following data:

Data containedRepresentation
Time of FIX in UTChhmmss.ss
StateInteger,
"" : off
0 : fatal error
10 : setup
20 : alignment
30 : compensating
NotificationInteger,
"" : tilt is off
0   : none
10 : fast motion
20 : bad gnss
30 : filter fault
Heading in degreesFloat, within the range [0.0, 360.0]
Tilt direction in degreesFloat, within the range [0.0, 360.0], value only provided in compensating state
Tilt value in degreesFloat, within the range [0.0, 180.0], value only provided in compensating state
n-axis accuracy coefficientFloat , value only provided in compensating state
e-axis accuracy coefficientFloat, value only provided in compensating state
u-axis accuracy coefficientFloat, value only provided in compensating state
ChecksumStarts with *, hexadecimal, two-digit number

Example

Here are examples of the ETC message Reach RX2 outputs:

  • $GNETC,,,,,,,,,*77: Tilt is off, no GNSS solution
  • $GNETC,193828.80,,,,,,,,*58 : Tilt is off, GNSS solution is available
  • $GNETC,193828.80,10,00,,,,,,*59 : Tilt is on, waiting for setup...
  • $GNETC,193828.80,20,00,,,,,,*5A : Alignment. Move the receiver to calibrate tilt compensation.
  • $GNETC,193828.80,30,00,172.543,5.621,2.344,1.013,0.993,1.021*5E: Compensating. The compensation data is ready to be used.
  • $GNETC,193828.80,30,10,172.543,5.621,2.344,1.013,0.993,1.021*5F : Compensating. The compensation data is available, but there's a warning that the receiver may be moving too fast.

For developers

For more detailed information on the ETC message, download the PDF below.

Doc revisionMessage revisionSizeDownload link
Rev. 3Rev. 1393 KBETC_rev.3_RX2.pdf