VDR

Voyage Data Recorder

Use Voyage Data Recorder to record and play NMEA files.

1. Download and Install

VDR Voyage Data Recorder is available as a managed plugin. The OpenCPN Manual has general information in Plugin Download, Install and Enable for installing this plugin. This is the preferred way.

In OpenCPN, go to the Options → Plugins and download, install and enable the Tactics plugin.

  1. In OpenCPN Click Tools-Options-Plugins

  2. First "Update" the master plugins catalog.

  3. Select the VDR entry and "Install" the plugin.

  4. In the list of installed plugins "Enable" the Tactics plugin and "Apply".

  5. Use “Preferences” to set your preferences (should be self-explanatory). Then “Apply.

  6. After successful installation, the plugin should be available in the plugins tab of your OpenCPN options dialog box.

  7. Then close Options and the two Play and Record VDR Icons should appear in the Toolbar.

2. Purpose

  • Record and Play NMEA0183, NMEA2000, and SignalK data streams in OpenCPN. See Log Format Specification for details on the recording format.

  • Use VDR for AIS Simulation - Run VDR to play AIS NMEA files. Or… use the VDR plugin to record your passages and replay them later! The VDR is also great for testing NMEA sentences, the Dashboard and new OpenCPN features. These are just a few examples, of how to use this versatile plugin.

  • When VDR is activated in ToolBar→Options→Plugins→VDR, two Buttons appear in the ToolBar.

vdr icons

3. Preferences

The VDR (Voyage Data Recorder) plugin offers several configuration options to control recording behavior and data management.

Recording Protocols

  • NMEA 0183: Select to record NMEA 0183 data streams.

  • NMEA 2000: Select to record NMEA 2000 data streams.

Recording Format

Choose between two output formats:

  • Raw NMEA: Stores data in original NMEA format.

  • CSV with timestamps: Converts NMEA data to CSV format with added timestamp information.

Recording Directory

Specify the location where VDR files will be stored. Default directory is /Users/[username]/Documents/VDR. Use the "Browse" button to select a different location.

VDR File Management

  • Enable automatic file rotation by checking "Create new VDR file every:".

  • Set the rotation interval in hours.

  • This helps manage file sizes and organize recordings by time periods.

Automatic Recording

The plugin provides smart recording features to optimize data collection:

Automatic Start

Enable "Automatically start recording" to begin recording when OpenCPN starts.

Speed-Based Recording

  • Set a speed threshold (in knots) to automatically start recording.

  • Recording begins when vessel speed exceeds the threshold.

  • Speed data is obtained from NMEA RMC sentences, PGN 129026.

Recording Pause

  • Configure how long to continue recording after speed drops below threshold

  • Set the delay in minutes (default: 2 minutes)

  • This prevents frequent start/stop cycles when speed fluctuates around the threshold

All changes in preferences take effect immediately after clicking "OK". The "Cancel" button discards any changes made to the preferences.

VDR Preferences
Figure 1. VDR Preferences Window

Example log:

13:46:49.236 MESSAGE vdr_pi.cpp:304 VDR: Auto-starting recording - speed 10.00 exceeds threshold 0.50
13:49:11.712 MESSAGE vdr_pi.cpp:319 VDR: Speed dropped below threshold, starting stop delay timer
13:51:11.396 MESSAGE vdr_pi.cpp:326 VDR: Auto-stopping recording - speed 0.10 below threshold 0.50 for 2 minutes

4. Operation

  • To start recording data immediately, click the "Record" button in the toolbar. The data is recorded in files named vdr_YYYYMMDDTHHMMSSZ.txt or vdr_YYYYMMDDTHHMMSSZ.csv depending on the preferences.

  • Click the "Play" button in the toolbar to display a dialog which can be used to replay VDR data or customize the preferences.

vdr control
  • You can control the speed with the upper slider. Far left is slow, natural speed, while moving the slider to the far right equals fast forwarding. Please note that the setting under options/ships/calculate SOG will impact which SOG values are shown when playing fast forwarding.

    • 1x sentences/messages are replayed at exactly the same original clock, i.e. real time. 2x is twice as fast.

    • 100x is 100 times faster than the recording rate.

    • As replay speed gets higher, OpenCPN may not be able to keep up consuming sentences, which depends on the computer CPU, memory, whether other programs are running, how CPN is configured, what charts are displayed, the zoom level, etc. The VDR plugin ensures that the queue does not grow indefinitely by maintaining a max queue size. This makes it possible to replay at high speed to get a quick overview.

  • The lower part of the dialog shows the progress.

  • When recording, the VDR plugin includes all NMEA data available on the internal bus in OpenCPN. Even data not recognized or used by OpenCPN will be recorded. Everything (almost) in the ToolBar→Connections→NMEA debug window will be included.

  • In other words. The VDR records everything from all ports and does not participate in the downstream multiplexer filter or priority scheme. That way, a VDR recording may be played back, experimenting with various filters and priorities if desired.

  • If you are playing a file with the VDR at the same time, even that data will be included. So it is possible to play and record at the same time!

Want to play ?

  • To get started, download this file.

Save and un-zip and you have a .txt file. The file is ready to play. * If you can’t find the boat, have a look in the Adriatic or just press the “Auto Follow”, or press F2. The view will now center on the action.

nmea debug dsc
  • The VDR shows up as “PlugIn Virtual” in the NMEA Debug Window.

5. FAQ

Why is my SOG way off and showing 60-70 knots in the Dashboard, when I playback a file?

Uncheck “Calculate SOG” option in Preferences. See Playbackfrom recorded file

5.2 What file format is used for recording?

The VDR plugin uses a CSV-based format that supports NMEA0183, NMEA2000, and SignalK data. See the Log Format Specification for details on the format and examples.