NMEA simulator
You can use NMEA simulator to simulate real NMEA 0183 or NMEA 2000 devices. With simulator you can e.g. test your navigation
application at home without any physical devices. It can be also used to simulate data for real devices on bus.
To use NMEA simulator locally without physical ports you need to setup it to send data to one COM port. This port has to be connected
with null modem cable to other COM port, what your e.g. navigation software listens. You do not need
real ports at all, since there is also null modem cable emulator com0com. So try this setup with NMEA simulator
do the next:
-
Download com0com null modem emulator from: http://sourceforge.net/projects/com0com/
-
Install com0com comport emulator driver and add e.g. com port pair COM29-COM30.
-
On NMEA simulator "Tools"-"Options..."-"NMEA0183" Choose port COM29 for sending.
-
Open your navigation software and choose port COM30 for reading NMEA 0183 data. Depending your navigation software you may need to
also define which sentences it listens. If possible, choose all.
-
On NMEA Simulator main window lower right tick checkbox "Run", so it will start sending data to selected com port (COM29).
On status row lower right there should read "Msg Buffer: 0". If that start to grow, no one is reading data from other
end (COM30). Check that you have configured you receiving application right and it is listening.
For NMEA2000 select com port on "Tools"-"Options..."-"NMEA2000". Note that NMEA Simulator currently supports only Actisense format
for sending, so your application must also support that format for NMEA 2000. You can also test NMEA Simulator with Actisense "NMEA Reader", which you can download
from https://www.actisense.com/acti_software/nmea-reader/
If you want to send NMEA 0183 data to physical NMEA 0183 devices, simply connect com port to them and select that port on NMEA Simulator
NMEA0183 settings like for null modem connection. See also Note 2!
If you want to send NMEA 2000 data to physical NMEA 2000 bus, you need also supporting hardware for that. You can use either
Across Ocean Systems NMEA2000 / NMEA0183 Simulator (See Note 2!),
Actisense NGT-1 or build your own box with my NMEA 2000 library
example ActisenseListenerSender. I prefer to use Teensy 3.2-3.6 with example. See Note 1 and Note 2!
NMEA Simulator can also simulate NMEA 2000 devices. You can define device for NMEA Simulator to match your real device. To do also
address claiming, check "Address claiming" under device definition. Note that address claiming does not work with NGT-1. If you
do not enable address claiming be carefull to define
device source address different than any other device on your bus.
You can run multiple NMEA Simulator instances with different options by starting simulator with command line option:
NMEA_Simulator -options ‹path_to_options_file›
NMEA Simulator can follow track you have recorded with your navigation software. Currently there is only support for
OpenCPN .gpx track or route, Nobeltec VNS and Admiral track format.
Send me sample of your track format, so I may add it, if you see that function usable for you.
Note 1! Some features on simulator requires that device communicates directly with bus. E.g. Actisense NGT-1 acts as bus device
so all messages sent from simulator shows on bus as sent from NGT-1. To get full power of these features you need either commercial
box or box build with NMEA2000 library ActisenseListenerSender example, where both streams has been defined for Serial.
Note 2! With commercial Across Ocean Systems NMEA2000 / NMEA0183 Simulator
box you will get some other extended features. Commercial box has also NMEA0183 connector so you can use same
box for sending both NMEA2000 and NMEA0183 data.
Command line options
-
-options ‹path_to_options_file›
Start simulator by saving all settings to given .ini file. If file does not exist, it will be created and current default
options will be copied to it.
You can use definition %PROGDIR% to point NMEA_Simulator.exe location. e.g.
-options %PROGDIR%\MyDevice.ini
-
-RunStartDelay ‹run_delay_in_ms›
Set NMEA Simulator to run mode after given delay. Minimum delay is 100 ms.
License
You can use NMEA simulator for personal use for free.
For commercial use, please contact author (see Help-About on NMEA simulator) to support development. Note that
there is more options on commercial version.
There is no warranty, so use it with your own risk.
Version history
Version 1.7.2.217 (02.08.2020)
Changes:
-
Added more message definitions for parsing.
-
Added message find for message console.
-
Added windlass PGNs 128776, 128777, 128778 and controls.
-
Fixed message console scrolling.
Version 1.7.1.211 (24.07.2020)
Changes:
-
Added message highlighting to message console. Max. 2 messages can be selected on free version.
-
Added NMEA 2000 message parsing for message console. Double click message on message console to open detailed description and field content.
Most common messages are on the database, which will be extented.
On free version only first 100 messages will be parsed.
-
Added message follow to message console. Scroll position will be updated to latest selected followed message.
Version 1.6.3.205 (03.05.2020)
Changes:
-
Fix for "Message console" memory handling.
Version 1.6.2.202 (23.04.2020)
Changes:
-
Updated some texts and links on header and added notes 1 and 2.
-
Added "Message Console". Enable messages to be recorded on Options-Global.
Simulator now also receives messages. On "Message Console" you see received messages, if you have enabled
recording on Options-Global.
On free version recorded messages has been limited to 5000.
-
Added "Response request" to device settings. Simulator will now request to ISO Request messages (59906).
With this setting it is not necessary to use periodic device information setting.
For backward compatibility default is off.
See also Note 1!
-
Added "Address claim" to device settings. When this has been selected, device will do address claiming
as real bus device.
For backward compatibility default is off.
See also Note 1!
Version 1.5.3.196 (28.03.2020)
Changes:
-
Added GNSS Method selection under GPS tab.
Version 1.5.2.195 (27.03.2020)
Changes:
-
Added ROT - Rate Of Turn sentence.
-
PGN 127251 - Rate Of Turn message.
-
Added option for selecting NMEA0183 message termination.
Version 1.5.1.192 (19.01.2020)
Changes:
-
Added BWR - bearing and distance to waypoint, rhumb Line sentence
Version 1.5.0.190 (19.11.2019)
Changes:
-
Added choice for sending both true and magnetic heading for PGN 127250.
-
Fixed latitude N/S and longitude E/W selection.
-
Fixed GPRSA to send also port rudder. Data is invalid.
Version 1.4.0.186 (01.07.2019)
Changes: Note! Due to changes some settings will not be preserved after update!
-
Fixed NMEA0183 VHW and VTG output, which broked on 1.3.2.172 version.
-
Fixed delay on sending, which caused buffer overrun with lots of NMEA2000 data.
-
Added descriptive info for com ports.
-
Separated tanks and batteries tabs.
-
Added 4 tanks for commercial version.
-
Added 4 batteries for commercial version.
-
Added 1 engine and two generators for commercial version.
Version 1.3.2.175 (26.03.2019)
Changes:
-
Fixed NMEA0183 HDG format, which broked on previous version.
Version 1.3.2.172 (03.03.2019)
Changes:
-
Fixed PGN 126992 and 129033 time to UTC instead of local.
-
NMEA0183 fields are now empty, if value is disabled on simulator. This can be used to simulate
'no data' on NMEA 0183
-
Main battery voltage will be send now on alternator voltage on Engine Dynamic parameters PGN 127489
-
New tab under engine: Transmission status -> status field on Transmission parameters PGN 127489
Version 1.3.1.171 (18.01.2019)
Changes:
-
Fixed NMEA2000 PGNs default priorities and send period.
-
Added button to reset priorities and send delays to default.
-
Added combobox to select protocol start byte. That was accidentaly removed for 1.3.0.164 update.
Use 0x93, if you feed simulator output directly to device build by using my NMEA2000 library Actisense sender code
or NMEA Reader e.g. with null modem cable or emulator. With start byte 0x93 source address will be sent
with the data and so it is possible to simulate several devices with NMEA Simulator.
Use 0x94, if you feed data e.g. to Actisense NGT-1. With start byte 0x94 source information can not
be provided to device, so data to bus will be sent by device source address.
Version 1.3.1.170 (02.01.2019)
Changes:
-
Fixed PGN 130316 Extended temperature.
-
Changed Switch bank handling. Now has more swithes for PGN 127501 and 127502.
-
Added support for PGN 127506 DC detailed status and PGN 127507 Charger status.
-
Added support for PGN 130576 Trim tab.
-
Check box for controlling tanks and batteries time based change.
-
Forgot to note that check box NGT-1 was removed and simulator will always send NGT reset when run will be checked.
Version 1.3.0.168 (10.04.2018)
Changes:
-
Added PGN 129291 Set and Drift
-
Added PGN 130313 Humidity
Version 1.3.0.167 (13.03.2018)
Changes:
-
Added PGN 129033 local offset
Version 1.3.0.166 (16.01.2018)
Changes:
-
Waypoint navigation info get now data from GPS page. Bearing and distance will be calculated.
Version 1.3.0.165 (26.12.2017)
Changes:
-
Fixed Fuel Pressure scale to kPa.
-
Added second Temp ext. for testing.
-
Added instance settings for temperature PGNs
Version 1.3.0.164 (14.10.2017)
Changes:
-
Added support for sending messages via Actisense NGT-1. This is not full NGT-1 support so you must first enable transmit PGN:s for NGT-1 with
Actisense NMEA Reader software. Also tick check box NGT-1 on Tools-Options-NMEA2000 to enable right data format.
Note that NGT-1 will send all messages from its own source (default 0) so you can not simulate sources on NMEA Simulator. For full simulation
I prefer to use e.g. Teensy based board with my NMEA2000 library (https://github.com/ttlappalainen/NMEA2000)
ActisenseSender example.
-
Now accepts also .csv files as track data. Currently only simulates lat,long and depth. The .csv header must contain column names
Latitude (required)
Longitude (required)
Depth (optional)
The data can be "," or ";" separated and decimal symbol must be ".".
Version 1.3.0.162 (11.10.2017)
Changes:
-
Now reads also GPX tracks.
-
Improved sending any message to the bus.
Version 1.3.0.161 (26.09.2017)
Changes:
-
New compiler version - hopefully not much side effects.
-
Fix: PGN 126259 Boat speed sends now SOW and SOG.
-
Now also "Enable" handling for true heading, mag heading, lat,lon,deviation,variation,SOW,SOG,COG.
Right click value to change its enabled state. When value is enabled, its value will be send to N2k. If it is not enabled, NA value will be used.
-
Fix: Some values type (signed/unsigned) was wrong.
-
Added new feature for sending any message to the bus. It is under Tools-NMEA 2000 Commands...-Any Message.
This is under constraction, so there may be changes for logic. Quick help:
- Messages, which has not been separated with empty line or comment, will be sent together.
- Click over message, which you would like to send.
- After click, messages, which will be sent, will be red coloured.
Version 1.3.0.160 (05.08.2017)
Changes:
-
Fix: Some text were cut with some resolutions/scaling on Windows 10.
Version 1.3.0.159 (04.08.2017)
Changes:
-
Added engine status page for testing engine discrete status.
Version 1.3.0.157 (11.06.2017)
Changes:
-
Added also command line option RunStartDelay for starting run automatically. E.g. NMEA_Simulator.exe -RunStartDelay 1000
Version 1.3.0.156 (09.06.2017)
Changes:
-
New command "Address" under "NMEA 2000 Commands...". With this you can send
"ISO Commanded address" PGN to change node address. Node will be defined by
its content of address claim message.
-
Added new option page "Tools"-"Options..."-"General" and setting "Delay to start run (ms)". With this
simulator will tick "Run" after given delay. Set 0 for no automatic start.
Version 1.3.0.155 (03.06.2017)
Changes:
-
Fix for "NMEA 2000 Commands..."-"Group function"-"Command"
Version 1.3.0.154 (01.06.2017)
Changes:
-
New tool "NMEA 2000 Commands..." under Menu-Tools. It will have pages for different commands. Now
it has
- "Request"-page for sending ISO Request to defined devices. With this you can e.g. request
product information or configuration information from device. Also PGN list request is often used.
- "Group function"-page, which has pages for Request and Command. With "Request" you can
e.g. request device to set Heartbeat interval. It is new PGN and rarely supported, but now mandatory for
certified NMEA 2000 devices. On "Command"-page you can e.g. command device to change their Device Instances and System
Instance. This behaviour is also mandatory.
Version 1.3.0.152 (03.02.2017)
Changes:
-
Fix: NMEA0183 on RMC now uses COG instead of TrueHeading
-
Fix: Now saves e.g. tanks capacity settings.
Version 1.3.0.151 (24.12.2016)
Changes:
-
Added attitude PGN under navigation. Attitude provides Yaw, Pitch and Roll. Controls for these are under boat tab.
Note that on next to Yaw text there is Yaw behaviour setting:
0=will be calculated automatically by current and wind effect.
1=changes True Heading, but still calculates wind and current effect for final Yaw
2=Disables wind and current effect, so COG=TrueHeading-Yaw
-
Fix: Now saves e.g. tanks capacity settings.
Version 1.3.0.149 (28.11.2016)
Changes:
-
Fix for N/S, E/W problem with coordinates.
Version 1.3.0.148 (22.11.2016)
Changes:
-
Added wind drift effect calculations for SOG/COG. Enable it on Tools-Options-Limits-"Drift coefficient"
-
Added current and its calculations for SOG/COG. No PGN sending yet.
-
Added sending configuration information PGN 126998 option for device. As default it is off.
Version 1.3.0.146 (04.10.2016)
Changes:
-
Fix for track selection and change and track follow function.
Version 1.3.0.145 (03.10.2016)
Changes:
-
Added support for following .GPX routes.
-
Improved track follow function.
Version 1.3.0.141 (20.08.2016)
Changes:
-
Added option for address claiming and product information period.
Version 1.3.0.140 (30.05.2016)
Changes:
-
Fix for MWV sentence to be bow referenced also for T=theoretic.
-
Added NMEA0183 message MWD.
Version 1.3.0.139 (28.05.2016)
Changes:
-
Fix for MWV sentence to provide wind angle 0-360 instead of -180 - 180.
Version 1.3.0.138 (23.05.2016)
Changes:
-
Fix for fluid levels, which was broke on previous version.
Version 1.3.0.134 (15.02.2016)
Changes:
-
Added gear and gear variables.
-
Now it is possible to disable single variables with right click over variable like "Oil Temp". Handling has not yet been implemented to all messages.
Version 1.3.0.132 (24.01.2016)
Changes:
-
Added PGN 127493 support.
Version 1.3.0.131 (21.01.2016)
Changes:
-
Fix for PGN 130316 fields.
Version 1.3.0.130 (19.01.2016)
Changes:
-
Added PGN 130316 and control for that.
Version 1.3.0.128 (04.12.2015)
Changes:
-
Added routine to ensure that there is no spaces on NMEA0183 messages.
Version 1.3.0.127 (25.11.2015)
Changes:
Version 1.3.0.126 (22.11.2015)
Changes:
-
Moved some value settings to different tabs. There is no room to show them all at same time.
-
Added engine parameters.
-
Added PGNs to selection list.
-
Some fixes on PGN data fields send to the bus.
Version 1.3.0.120 (16.11.2015)
Changes:
-
Note! Due to big changes on NMEA 2000 options, options for NMEA2000 PGNs from previous versions will not be restored.
-
Option form layout changed. Now there are tabs for different groups to get more room for options.
-
Devices for NMEA 2000 options. PGNs will be joined to the device with same source number. So if you
disable device, all PGNs joined to that device will be also disabled.
With devices you can make more realistic simulation to NMEA 2000 bus. If you e.g. know all of you log device parameters,
you can define those for on Add/Edit device. Then your Multi Function Device (MFD) will show like our log would be
connected.
-
Each PGN has now own settings for source, priority and send delay. PGN with same source as
device in device list will be joined to that.
-
Possibility to define options file with command line option -options ‹path_to_options_file›.
So by starting application e.g. with command:
NMEA_Simulator -options "LogSimulate.ini"
it will save all settings to defined "LogSimulate.ini" file under run directory. In this way you can have different settings
for different simulations.
Note that as default options will be saved to user registry under HKLM\Kave\NMEA_Simulator.