GPS Odometer


The GPS Odometer is a plugin for OpenCPN version 5.0 and higher. The keyword for this GPS Odometer is simplicity. Note that, as this is a GPS based instrument, it requires GPS data to display any data at all. The GPS MNEA 0183 sentences RMC and GGA messages is a must. See furter information below.

The GPS Odometer contain just these basic functions:

  • An optional Speedometer with both analog and digital readout.

  • A Total Distance log, always displayed.

  • A Trip Distance log, always displayed.

  • An optional Deparure / Arrival timer with digital readout

  • A Trip reset button that resets Trip, Departure Time and Arrival Time

  • An optional Leg Trip time and Distance including Start/Stop Leg and Leg reset buttons


The instruments are shown in the above listed order and it is not possible to change this order. It is however possible to toggle the optional instruments on or off right-clicking on the instrument panel and select 'Settings'.

  1. Total distance, Trip distance plus the Trip reset button can not be toggled off. Just leave the GPS Odometer on screen and reset the trip counter once the trip is ended (and log book written?) or before the next trip starts.

  2. The trip will be considered started as soon as the speed increases above 'Minimum Route Speed', preset to 2 knots (selectable in the settings menu). The departure date and time will be displayed on the instrument as the upper value for 'Departure & Arrival'.

  3. The trip will be considered stopped as soon as the speed decreases below 'Minimum Route Speed' and the date and time will be displayed on the instrument as the lower value for 'Departure & Arrival'.

  4. If the speed then again increases above 'Minimum Route Speed' the trip be either continued or restarted depending on if the 'Trip reset' button has been clicked or not. You may even shut down OpenCPN for e.g. a lunch break, the 'Trip distance' as well as 'Departure & Arrival' times are remembered until the Trip reset button is clicked.

  5. Departure and arrival times are displayed according to the ISO standard 8601 primary alternative ('YYYY-MM-DD HH:MM').

  6. 'Total distance' is simply a counter of distance traveled and is not affected by the reset button. Note that you can edit the 'Total distance' value in the OpenCPN configuration file e.g. if the GPS Odometer is replacing another Sumlog instrument. The format is '12345.6' (one decimal only) and remember to do that when OpenCPN is shut down or your change will be lost.

  7. The Leg Trip functionality is a bit different as it has higher time and distance resolution, intended for e.g. tight navigation time and distance measurements. Like “How far is it between X and Y?” or “How long time does it take between Y and Z”. Start or resume the distance and time counters clicking the Start/Stop Leg button, it will count distance and time until the button is clicked again. Click the Leg Reset button to zero distance and time and begin a new count session. This counter does not use 'Minimum Route Speed' setting.

  8. Several parameters can be adjusted in the 'Settings' menu, just right-click somewhere on the instrument and select to change the settings. Please do not set 'Min Route Speed' to low or you will get false trip start/stop times due to position inaccuracies and/or when anchored.

  9. The HDOP and Satellites in use values can be adjusted editing the OpenCPN configuration file, they both default to '4'.
    HDOP can be adjusted from 1 to 10 and Satellites in use must be at least 4 but can be increased if required. Do not alter these settings unless you know what you are doing!

A few notes about GPS signal information, this is what happens if one more of the RMC and/or GSV/GGA sentences are missing:

  1. There will be no speed or distance count if NMEA 0183 sentence RMC is missing nor will the GPS Odometer start displaying data until NMEA 0183 GGA is indicating a valid GPS signal (are using the 'Satellites in use' and 'HDOP' information). There is also a few seconds delay when powered up to allow for the system to be proiperly started. Many GPS units are somewhat inaccurate the first 10 seconds. Note that this is a power up start delay that has no effect later on.

  2. It is essential to use a good quality and stable GPS receiver. Some GPS units are quite unstable when starting (although indicating a valid fix) and, as all distances are added, this will add to the trip and total distances or trigger false departure times.

Bugs and inconveniences

There are a few bugs/inconveniences inherited from the original dashboard as the instrument window downsizing when e.g. removing the speedometer does not downsize properly. There are also other minor display size inconveniences but these are corrected just grabbing the lower right corner and adjust the panel size. Worst case solution is to restart OpenCPN.

Also, some of the parameters from the Settings menu does not update the instruments until OpenCPN is restarted, like the maximum speed setting in the speedometer.


The best and most convenient way to install is to use the package manager but if a suitable version is not availanble you may also build the application following the standard method compiling outside the OpenCPN source tree.
There is (currently?) no version available for the Android environment as I don’t have either the tools nor the knowledge to do that. Any help from the community would be appreciated.

A final comment

I did this plugin as I wanted a simple GPS based Odometer. The Logbook has the option but you may not need all the other stuff in there and also wants an on-screen solution.

For 'dry-runs' I recommend either trips recorded using OpenCPN VDR plugin or gpsfeed+ in a square pattern (getting various speeds).

Contact: You can PM me through OpenCPN in Cruisers Forum, look for LennartG or use Search → Advanced search → Search by user name.

Want to know more? Learn about OpenCPN.