Live Data via NMEA 0183

NMEA 0183 is a communications protocol used by many marine instruments, such as GPS and sounder units, that can transmit data such as GPS position and depth. GPS or sounder units can be connected to a PC via one or more serial ports, which ReefMaster can listen to to receive position and depth information. This information can be recorded as a Track, and used as part of a map project in the same way as any other track within the workspace. If a track is being logged while it is also part of a map project, then the map project updates as the track is logged, providing real-time map generation.


Configuring the NMEA Connection

NMEA connections can be received from up to two serial ports simultaneously. When an NMEA connection is being received from two separate serial ports, ReefMaster expects to receive depth information on one port, and GPS position information on the other. Allowing the use of two separate ports means that two separate devices can be used to provide the position and depth information required to make a map. For example, a dedicated sounder unit (with no on-board GPS unit) can be used in conjunction with a hand-held GPS unit. It is also possible to use a smart-phone as a GPS unit, using software to make the phone act as a bluetooth GPS puck.




Open the Global Settings window and locate the Live data via NMEA section (1). The status of the live data connection is shown in the Live Data Status Panel, which is also displayed as part of the Application Status Bar (see below).


Click Configure to open the Live Data Configuration window (2). Clicking On in the Live Data Status Panel will show an option to open the live data configuration window directly, if the settings have not yet been configured.




The Live Data Configuration Window



Connecting NMEA device(s) to your PC

NMEA data is received via a Serial Port connection. Consult the documentation that came with your GPS or sounder unit for information on how to connect your device to a PC serial port. Physical serial port connectors are rare on modern computers so it is likely that a Serial port to USB adapter will be required. These are commonly available, and it is usually a simple case of "plug and play"; connect the serial output from the GPS device to the serial-USB adapter, and connect the adapter to the PC using an available USB port. The Serial-USB adapter driver software will create a serial port, which usually has a name of the form COM<n>.


Configuring Serial Ports

The correct serial port(s) need to be assigned for position and depth data, and the baud rate (speed) of each serial port needs to be set.


Port Name

All available serial ports are shown in the first drop-down list. Select the appropriate port for your NMEA connection.


Baud Rate

Available baud rates are shown in the drop-down list. 4800 is the most common value for GPS/Sounder devices connected over a physical serial connection, and is the default. For other devices, such as GPS puck connected via bluetooth, the value may be much higher. Consult the documentation that came with your device.


(1) Position

Position information includes location and time information, and can also include heading and speed.


(2) Depth

Depth data contains the current depth.


Receive position and depth data via different COM ports

When receiving both position and depth data from the same connection (for example, from a combined GPS/sounder unit), the position and depth port information is the same. In this case, the port information selectors for depth are disabled, and the information is taken from the selections made for position.


To take depth and position information from two different devices, check the option Receive position and depth data via different COM ports (3). This will enable the COM port and baud rate selectors for the depth connection, which can then be set accordingly. Note that you will not be able to select the same serial port as the position connection. To revert to listening for both position and depth data via one port, un-check this option.





The latency between the position and depth channels can be using the Latency option. This option is only enabled when position and depth are being received via different ports. Latency is applied by delaying messages from one channel, relative to the other, by a set time. For example, if you know that position values are arriving after the appropriate depth message, then the depth messages should be delayed until they are synchronised.


To apply a latency setting, check the Latency check-box (1). Choose which channel to delay using the drop-down (2) and enter the delay time in field (3). Delay times are specified in milliseconds.


NMEA Sentences

NMEA sends data of different types in text strings known as sentences. There are many different sentences, each of which stores different information. Each different sentence type has a unique sentence identifiers, which is a three-letter character code. ReefMaster can listen to a variety of position and depth sentences, which can be filtered according to their type.


To turn a sentence filter on or off, open the sentences list at the right of either the position or depth configuration row and select or de-select the required sentences using the check-boxes in the sentence list.


Choose as few sentences as possible to get the required information; this will keep ReefMaster processing requirements to a minimum, and reduce the chance of receiving conflicting data (e.g. do not select DPT and DBT at the same time, if both are sent by your sounder, as, depending on the configuration of your device, the depth data in each may differ).


Position Sentences



RMC - Recommended minimum GPS data. Contains time, latitude, longitude, speed and heading information.

GGA - GPS position fix data. Contains time, latitude and longitude. No heading or speed information is present.

GLL - Latitude and Longitude. Contains time, latitude and longitude. No heading or speed information is present.

HDG - Heading.

HDM - Heading, Magnetic.

HDT - Heading, True.

VTG - Course made good.


Depth Sentences


DPT - Depth of Water.

DBT - Depth below transducer. Note that this value may differ from the DPT value if both are sent by the same device. In this case, select either DPT or DBT, but not both.


Transducer location offset



Sets the position of the transducer relative to the GPS antenna. ReefMaster uses the relative transducer location in conjunction with the current heading to adjust the current GPS position.

Note that if valid (and accurate) heading sentences are not being received, then applying a transducer location offset will have undesirable results.


The location can be one of Forward or Aft and Port or Starboard of the GPS antenna. The distance is specified in either metres or feet, depending on the current global units setting. The specified direction and distance is of the transducer relative to the GPS antenna. e.g. if the transducer is behind, and to port of the GPS puck (or GPS unit, if the antenna is internal), the specify aft and port, and enter the appropriate distances into the distance fields.



Click Connect to attempt a connection using the specified settings. If a connection is successful, the settings are saved and the configuration window is closed. If the connection is unsuccessful, the option is given to review the settings, or to save them anyway and close the window - in which case, no connection will be made.


Note: A connection is considered “successful” if ReefMaster was able to open the specified serial port(s). It does not indicate that data has been successfully received.


Live Data Status Panel



The Live Data Status Panel is shown as part of the application status bar (at the bottom right of the main application window), and within the global settings window. The live data status panel holds quick-access buttons to turn the data connection on or off, and a pair of indicators for depth and position data.


(1) Data Off/On

Use the on/off buttons in the status panel as a short-cut for turning NMEA data connections on or off, once they have already been configured in the NMEA configuration window. If the On button is used before the NMEA port(s) have been configured, an option will be shown to open the configuration window.


(2) Data indicators

Two indicator buttons show NMEA activity – P for position data and D for depth data. The indicators will pulse green on every new data sentence that is processed. Note that the indicators only indicate the receipt of sentences that have been selected for processing – for example, there will be no indication of live data if GLL messages are being received and they are not selected within the NMEA settings.

If no data is received for 10 seconds, the indicators revert to a red colour.


The Live Data Panel and Boat Position



The Live Data Panel is an information panel, that can be displayed in any edit window, that shows position, course and speed, along with a rotating compass rose. The current position can also be shown on the map as a boat icon, with an optional direction arrow showing the direction of travel.


Live Data Menu

Live data settings can be accessed by clicking on the boat icon in the map toolbar.



(1) Show Boat Position

Shows the current position as a boat icon plotted on top of the map area. The position and orientation of the boat update as data is received.


(2) Direction Arrow



Extends the boat icon with a direction arrow, which makes it easier to see in which direction the boat is heading.


(3) Keep Boat in View

When this option is checked, the edit window will pan to keep the boat in the central area of the view.


(4) Show Data Panel

Show or hide the Live Data Panel.



The live data panel shows the last received position, course and speed, along with a rotating compass rose.



If data has not been received for ten seconds, or if the time within the received position messages is more than ten seconds older than the system time, the background of the live data panel is shown in red. The red background serves as a warning that the displayed position data is out of date.


Warning: GPS data displayed in ReefMaster should never be used for navigation.


Logging Live Data

Live data can be logged to form a Track. A track that is being created from live data is known as the Live Track and is, in almost all respects, treated the same as any other track within the workspace; it can be viewed, panned, zoomed, and edited in the usual ways, and used in Map Projects, User Maps, and Data Sets. Adding a live track to a map project means that an area can be mapped in real time.



To create a new live track, and start logging data, click the Log Live track button in the Main Toolbar. A window is shown with some options for the new track:


(1) Track Name

The name of the new track. By default, the current time and date are used.


(2) GPS Profile

The GPS Equipment Profile to use for track properties Keel Offset  and Cone Angle. The default profile is initially chosen, but any available profile can be selected from the list.


(3) Add Track to Project

Select the Add track to project option to add the new track to an existing or new map project. This option is a convenient short-cut when creating a map in real time, and has exactly the same effect as adding the live track to a project in any of the usual ways. Choose New (4) to create a new map project, to which the track will be added. When creating a new project to receive a live track, the option Automatically size project to track can be selected, which sizes the defined map area of the map project to the bounding rectangle of the live track. This automatic sizing of the map project will continue until the mapped area is overridden by defining a map area in the Define Map View of the map project.

To add the live track to an existing project, select Existing (5) and choose the required project from the drop-down list.


The Live Track


The live track is treated as just another track within the workspace; the only difference is that the track is constantly being extended by the addition of new track-points.

When a track is part of a map project, any change in the track forces the map project to regenerate. When the live track is part of map project, this would mean a complete map re-generate on every new track-point. If track-points are being added to the live track at a rapid rate, this can cause the map project to regenerate very frequently, consuming PC memory and processor resources as it does so.

To mitigate this, the frequency with which the live track informs map projects about changes can be controlled, in the Live Data section of the Track Edit Pane.



Use the Update Frequency slider to adjust how often the live track informs map projects of changes. The minimum value is 10 seconds, and the maximum value is 100 seconds.


Click Stop to stop logging to the live track. Logging will cease, although the data connections will remain open (the NMEA data connection can be closed, and serial port(s) freed, by clicking the data Off button in the status bar).


Once logging has been stopped, it cannot be resumed within the same track. To continue logging data, click the Log Live Track button in the main toolbar once more, to start logging a new track. Starting to log a new track whilst an existing track is being logged will automatically stop the logging in the existing live track and create a new live track.


Replay as live track

Replay as live track is a test function that replays the current track, providing data to ReefMaster as if it were coming over an NMEA connection. Replaying a live track is a good way to explore live-mapping features, before venturing out on to the water.



The Replay as live track panel is located in the Live Data section of the track edit pane. Note that this panel is not displayed for the live track.


To control the replay of the current track, use the buttons Play, Stop and Reset (1). Reset moves the track position back to the beginning, so that hitting Play again will restart the track replay.


Replay speed can be adjusted on a scale of 1 - 5x using the Speed slider (2). When replaying a track, track-points are supplied to ReefMaster as if they were from an external source, and they can be logged to a live track by following the procedure described above.


Note that any existing NMEA connections will be closed when replaying an existing track. To restart NMEA connections, use the Connect button in the NMEA configuration window.

Copyright © 2015 ReefMaster Software Limited