Posted by: Ger Rietman | September 5, 2017

Announcing NemaStudio Version 1.36 with BAM module

BAM module in NemaStudio, click to enlarge


NemaStudio Version 1.36 will soon be released. Currently it is beta tested by selected customers. Expected release date is by end September 2017, or earlier if possible.

Bridge Alert Management

With Version 1.36, Sailsoft introduces a Bridge Alert Management module in NemaStudio. Currently the support for Alert handling in NemaStudio is pretty basic, but the foundation allows more functionality when required.

What is BAM?

According to the IMO (International Maritime Organization) the definition is as follows: Bridge Alert Management (BAM) – Overall concept for management, handling and harmonized presentation of all alerts on the bridge.”.

BAM implementation in NemaStudio

(See image above, click to enlarge).

When the BAM module is active, it listens and captures incoming messages of type ALC, ALF or ARC (for definition of these see IEC 61924-2). All other messages are ignored.

Received messages of the recognized type are pushed on a queue. Currently the queue size is limited to 1000 messages.

The user can pop up the message on top of the queue and respond with an ACN message with either A(Ack), O(Resp.transfer), Q(Request) or S(Silence). After responding the message is removed from the queue.

Note that it is assumed that NemaStudio is connected to a BAM supporting ECDIS.

Summary of other changes in V. 1.36

1. UDP handling moved to separate threads, no more blocking of GUI
2. Copy and restore xml files introduced, making handling of different scenarios easier
3. BAM (Bridge Alert Management) handling as new module introduced
4. FIX: VBW sentence: SternTransverse Ground Speed and WaterSpeed were interchanged. Corrected.
5. FIX: When semi-docked GPS, course in other document was overridden
6. FIX: New instruments were not added when main form contained no active instruments


Any comments, questions or suggestions?

Please send via this web form or by commenting below.

Posted by: Ger Rietman | September 17, 2016

NemaStudio now supports the NMEA 0183 TAG Block



From version 1.32 NemaStudio supports the TAG block as defined in NMEA 0183 Version 4.0.

NMEA’s definition of the TAG Block

The NMEA defines the function of the TAG Block as follows:

“The TAG Block structure and content is intended to clarify the relationship of sentences to each other and to the equipment between which sentences are communicated. The TAG Block structure introduces the addition of sentence related information into the character stream containing NMEA 0183 defined sentences.”

The TAG Block format

Basically a TAG Block contains one or more parameters. A parameter has a parameter code and a parameter value. Parameter example: “-s:GP0003”. Currently a maximum of 7 different parameters are defined (See below).

A TAG Block always starts and ends with a backslash (“\”” and includes a checksum preceded by an asterisk (“*”).   The TAG Block always precedes the NMEA 0183 sentence. Example TAG Block (red) preceding HDT sentence:


TAG Block parameters

Currently the TAG Block can contain one or more of the following parameters:

Parameter code Parameter name NemaStudio support
-c UNIX time yes
-d Destination Id no
-g Grouping no
-n Line count yes
-r Relative time no
-s Source Id yes
-t Text string no


As can be seen from the table NemaStudio V.1.32 supports   the following TAG Block parameters: –c, –n and –s. Depending demand Sailsoft may include more parameters in future versions of NemaStudio.

The TAG Block is optional

Using the TAG Block is optional and can be set in the NMEA settings tab of the General Settings. This ensures compatibility with applications that do not support the TAG Block. The TAG Block and the parameters can be selected individually in NemaStudio. If the checkbox “Send TAG Block” is unchecked the parameter checkboxes are disabled.

Examples with TAG Block and Multicast UDP from NemaStudio


(Note: the question mark after the UdPbC string represents the null terminator.)

Posted by: Ger Rietman | September 16, 2016

The Light Weight Ethernet (LWE) implementation in NemaStudio



Recently Sailsoft introduced a partly implementation of LWE (Light Weight Internet) in her NMEA 0183 simulation software NemaStudio.

In the IEC standard IEC 61162-450, the term LWE is not explicitly mentioned but is described as “Part 450: Multiple talkers and multiple listeners –Ethernet interconnection”.

Protocol layers used in LWE

As the name suggests, LWE is Ethernet based, hence the Data Link layer is Ethernet. The Network layer is IP. Yet the most notable layer is the Transport layer. This is Multicast UDP, with a predefined IP address range and port destination set.

The choice of UDP over TCP/IP is rather obvious since the latter is a unicast solution and is not suitable for a “One Talker, Multiple listeners” environment, basic feature in NMEA 0183 and IEC 61162 protocols.

IP address range

IEC 61162-450 standard IP address range is through, while the port numbers range from 60001 through 60016. each IP address is designated to a specific group, e.g. port 60003 is assigned to Satellite navigation equipment like GPS.

LWE and NMEA 2000

NMEA 2000 has been around since 2001 and with the intention to replace NMEA 0183. We are 15 years later and I cannot make another conclusion than that NMEA 2000 has failed in this respect.  Today NMEA 2000 has been commonly accepted in the pleasure yacht environment, yet I cannot find any proof that NMEA 2000 is widely used in the professional maritime industry. For some years now rumours are that the NMEA is working on an Ethernet implementation called “OneNet” to abandon the CAN bus transport layer of N2K. To me personally I wonder why NMEA does all this work since there is a good, standardized solution available since 2011 described in IEC 61162-450.

Current status of LWE support in NemaStudio

Since March 2015 (Version 1.27), Multicast UDP has been available in NemaStudio. Recently (Version 1.31) the null-terminated sentence prefix string “UdPbC” was introduced to be more compliant to IEC 61162-450. From Version 1.32 NemaStudio will also (partially) support the TAG block as defined in NMEA 0183 V.4.0.

Further reading

A good article explaining LWE can be found here:

Posted by: Ger Rietman | June 29, 2015

Many updates in the GPS module of NemaStudio in Version 1.27


New Version 1.27 updates

Version 1.27 of NemaStudio comes with many updates, especially regarding the GPS instrument.

A major update is shown in the image left (click image to enlarge). It show the new GUI change when in Navigate mode.

As you may know in this mode you can ‘sail’ a pre-set route, defined in a so called $GPWPL file. The GPS module will then ‘sail’ from Waypoint to Waypoint, as defined in the file. You must navigate and keep the boat on track with the controls in the Object Control Center.

In Navigate Mode you have the option to send two extra NMEA 0183 sentences: XTE and RMB. Before Version 1.27 NemaStudio always has updated the “Destination Closing Velocity” field in the RMB sentence with the value from the Velocity control. This was actually not according the NMEA 0183 specification.

From version 1.27 however NemaStudio is calculating the VMG (Velocity Made Good) and saves this value in the “Destination Closing Velocity” field of the RMB sentence.


How this works is shown by the picture on the left.

Suppose we are following a given route and we are sailing from Waypoint WPn to Waypoint WPn+1.

The further we get off our given track, the Rhumb Line, the lower our relative speed (VMG) will become. At a certain point the relative speed can even get negative.

As set before NemaStudio now saves the VMG in the RMB sentence and is also shown in the GUI, as is the Rhumb Line.

Slave GPS

Also new in Version 1.27 is the possibility to define one or more Slave GPS’s. A slave GPS always has GPS1 as master, so GPS1 always must be active when you want to assign a slave GPS.

NemaStudio127Screenshot2The slave GPS will have all Object Control controls disabled. Course and Velocity are taken from the master, thus GPS1. Also the current position is taken from GPS1.

This way you can simulate you have two or more GPS’s on the vessel, without having to synchronize position, course and speed.

You select the option in the Exec Mode frame.

GPS, other changes and bug fixes

  • From version 1.27 you can, optionally, choose your own Sentence Identifier.
  • A CLR stack overflow Exception situation was corrected,
  • Pos. Update Timer was reset to 1.0 when applying User Tweaked UTC. Corrected.
  • An error in Magnetic Course calculation in the VTG sentence was corrected.

Transducer module

  • The user can now define her/his own Sensor Identification string

Custom module

  • A vertical scroll bar on the sentence input panel was added

Multicast UDP option implemented

NemaStudio now offers also UDP Multicast as an option.


This feature has only be tested to a minimal level, so without routers and other IP hard- or software.

If you are considering using this option I would really like your feedback!

Observe that for UDP Multicast the IP address must be in the range to and that the TimeToLive must be > 0.

Apart from feedback on the UDP Multicast feature I would also like feedback whether you would appreciate implementation of the TAG block in NemaStudio!

Posted by: Ger Rietman | February 10, 2015

Heave, roll and pitch in NemaStudio 1.26

Attitude instrument in NemaStudio 1.26

New version of NemaStudio includes Attitude instrument

Recently Sailsoft released version 1.26 of NemaStudio. Apart from a few relevant bug fixes and some minor improvements a new instrument is introduced, the Attitude instrument.

I have been very reluctant to implement this function since there is no NMEA 0183 standard for Attitude.

Heave, roll and pitch sensors have been produced by a limited number of manufacturers. Each of them using their own, proprietary sentence format not openly published.

Supported manufacturers

In the current version of the Attitude instrument I have implemented the formats of  two manufacturers, Ashtech and Furuno, since some customers were so kind to inform me unofficially about the sentence formats of these manufacturers.

Attitude simulation mode

For each dimension (Roll, Pitch and Heave) an individual simulation option is available by checking the appropriate check box.

When not in simulation mode, each parameter (Roll, Pitch, Heave) can be set individually, also while running.

In simulation mode, the sample time for Roll, Pitch and Heave values is 1/100 second. The algorithm used to calculate the angle in degrees (resp. meters) is

((2 * MaxAngle)/Time)

With the high sensor update rate (0.01 sec) it is possible to achieve a fairly realistic output provided setting the Transmit Interval to a low value, e.g. 0.1 second or even less. Drawback is that you will need a fast serial port baud rate or use UDP ports to avoid buffer overruns.

Bug fixes and other updates in Version 1.26

– Custom Instrument: UDP IP portnumber wrongly shown in GUI, corrected
– General Settings: max velocity now 1023 so msg 9 can be tested against this max
– AIS: msg 24A and 24B now broadcast always over the same channel
– AIS: msg 24A/24B now possible to optional exclude 24B by settings
– AIS: msg 24A fillbits incorrect, corrected
– AIS: msg 14 padding to 40 chars removed, fill bits field adjusted
– AIS: msg 14 belonging to the same sequence now always use same channel

Posted by: Ger Rietman | September 4, 2014

Focus on KNRM (Royal Netherlands Sea Rescue Institution)


The Dutch KNRM (Koninklijke Nederlandse Redding Maatschappij) is probably the only Search And Rescue organization in the world operating without any form of governmental financial support.

The whole operation is fully funded by means of donations from private persons and sponsoring by companies!

Currently they have 80 SAR vessels in operation and 1300 volunteers crewing the vessels and helping ashore. All dedicated to rescuing people!

Sailsoft sponsors KNRM by donating as many free licenses of NemaStudio as required.  NemaStudio is used in maintenance, research and training by various disciplines within the KNRM organization. Recently I received the following testimonial from the head of IT and Communications of KNRM:

"NemaStudio has a huge value for our SAR organization. The software helps us during investigations related to error and operational handling without the need of connecting all kind of additional and specific equipment. In our world we face a lot of brands and technology on board of our 80 SAR vessels. Originally we started to work with the product in the maintenance and repair department. Currently NemaStudio is used in several areas of our organization like maintenance and repair, research, innovation, simulation, training and assessment. In some cases even at the level of mission critical application. Sailsoft is both technically and financially delivering a significant contribution to our work and primary assignment: Search and Rescue people at Sea. We really like the product and the support of Sailsoft is great. "
Carlo Hukema, Head of IT and Communications 
Royal Netherlands Sea Rescue Institution (KNRM)

Of course I am very happy that Sailsoft is allowed to contribute in such a useful way to this great SAR initiative.

Posted by: Ger Rietman | May 22, 2014

New functionalities in NemaStudio NMEA 0183 simulator

NemaStudio play file

Quite a few new functions have been implemented in the latest versions of NemaStudio, Sailsoft’s NMEA 0183  and AIS simulator.

Below you find a short overview and explanation of the new functions that have been implemented in versions 1.23 and 1.24.



General Settings

A new tab has been added to the general settings panel: the AIS settings tab as shown on the right.

Opening this tab will give the opportunity for selecting the AIS radio channel. You can either select to always use channel A (as it was before) or to select to always use channel B in !AIVDM and AIVDO messages. It is also possible to alternate between both channels. Below is an output example of the alternating radio channel for a Class B target:


Communications Settings

A major update concerns the option to be able to use multiple UDP addresses. To be able to set different IP and Port addresses a new tab has been created in the Communications Settings panel as can be seen below.


imageIt is possible to define a maximum of 16 different IP addresses, tagged as UDP0 to UDP15. Any of these can be assigned to any instrument and any target in NemaStudio.

As you can see in the example above you do not need to define all 16 UDP ports. Only those ports that have a valid IP address and Port number will be shown in the actual objects port selection drop down box as shown at the left.

BTW: the IP addresses in the example above are just made up for the sake of the example. In a typical environment they will be more consecutive and in line I suppose.

Play any text file and send to output port

In version 1.22 a playback function for a previously logged scenario was introduced. To be able to play back the original scenario as accurate as possible it is necessary that the log file is recorded with the original date/time and port number used in each line, as in the following example:

2014-01-27 16:01:53 AIS1 COM10: !AIVDM,1,1,,A,15vV=ew00000>PH00@Ch001b050l,0*5Aimage

This can be achieved by checking the appropriate logging options in the General Settings before logging any scenario as shown on the right.

Next to this useful function, NemaStudio introduces in version 1.24 the option of playing any valid text file. Each line is send to the selected output port in 1-second intervals.image

To use this function you have to open the file you want to play in the text editor of NemaStudio.

Clicking the appropriate toolbar button as shown in the red circle in the example at the left will give you the opportunity of choosing an output port. Immediately after you have selected the port of choice the transmission will begin. See also the screenshot in the top of this article.

Minor updates and error corrections

  • The satellites field in the GPS module now reflects the actual number of satellites used in the GSA, GSV and GGA sentences
  • The RMC sentence in the GPS module now accepts the “P” mode indicator
  • AIS Class B target now correctly takes COG and SOG from a linked GPS

Important update

From version 1.24 NemaStudio requires the Microsoft .Net Framework version 3.5.

In order to remain downwards compatible with older versions of Windows NemaStudio has always been built on Framework version 2.0. Now since Microsoft no longer supports Windows XP it was time to upgrade to a higher version of the .Net Framework.

I do not expect any user to get problems with this. The NemaStudio installer will automatically try to download version 3.5 from the Microsoft download servers when it does not find it on your system. If you find any problems during installation pleas contact Sailsoft and we try to solve the issue.

Download links

To download and install NemaStudio version 1.24 FW version 3.5 use this link.

To download and install NemaStudio version 1.23 FW version 2.0 use this link.

Posted by: Ger Rietman | March 11, 2013

NemaStudio version 1.19 released

NemaStudio Velocity instrument

New in version 1.19

In order to simulate a more dynamic behaviour the Velocity instrument and the Weather instrument can from this version of NemaStudio optionally be linked to any active Header instrument.

This affects the NMEA 0183 VHW, VWR and VWT sentences when the user applies the link to the Heading.

VHW sentence


As can be seen in the example above, both True Heading and Magnetic Heading are copied from the linked Heading instrument in NemaStudio.

VWR and VWT sentences

When a Heading instrument is linked to the Weather instrument, both VWR and VWT sentences will relate the wind angle to the True Heading of the linked Heading instrument.

Other changes

As you know, incoming data over a serial I/O port is not interpreted by NemaStudio, there are several other applications on the internet available if you need this.

However, NemaStudio will read the incoming data and show the data in the I/O Port Monitor panel in red colour. Reading data resulted in some cases in thread/timing conflicts when the same port was used for transmitting data, causing NemaStudio to hang. This has been corrected.

There was also a small bug introduced with the arrow key handling in version 1.28. This bug has been corrected.

Download and install

You can download and install Version 1.19 of NemaStudio via the following link:

Posted by: Ger Rietman | February 15, 2013

NemaStudio version V1.18 released

Capture Transducer

Version 1.18 of NemaStudio

Almost a year has passed since the last version update of NemaStudio, Sailsoft’s NMEA 0183 and AIS simulator.

This proves that the latest versions of NemaStudio apparently  seem to be quite stable  and I am very happy about that.

Yet there always seems room for improvement, and – for various reasons -I unfortunately cannot always honour all requests for additional functionality, but most will get through. Like this one that I like to introduce here as a complete new instrument in NemaStudio: the Transducer.

In this version of NemaStudio the Transducer is currently still quite basic, and I am anxiously awaiting your suggestions for improvements.


As you can see on the image above (click on it for full scale) you can identify 4 sensors. This is the maximum number of sensors you can send in one sentence with NemaStudio. If you need more just create another instance of the Transducer object.

Formatter and Identifier

Currently the only formatter used in the Transducer object is $—XDR, and I do not know if there are other common formatters that can be used within this context. Also I must admit the choice of Identifiers is rather limited as you can see. My guess is that $II is most used in practice.

Type and Unit fields

Both Type and Unit can be selected via a Dropdown/Combo box. Note that there is currently no relational consistency check between these fields. So it is quite possible to output Frequency data as Litres per Hour as you can see in the example!

What else is new in version 1.18?

Control Center
  • When the Control Center has focus (you can give it focus by clicking it) you can use the arrow keys to change course and speed
  • It is no longer possible to set the course control to a value of 360 degrees
General Settings
  • A new option is introduced here to enable automatic start when the program is opened. This option is very useful when NemaStudio needs to be run as a background task.
Heading instrument
  • The $—THS sentence is added
  • The maximum value of all ‘degrees’ up/down controls is now 359.9 instead of 360
  • All ‘degrees’ up/down controls  will now loop, meaning that when the maximum limit is reached the value will be reset to 0.0 and also the other way round.

Where to download this new version of NemaStudio

You can download and install this new version of NemaStudio here:

To licensed users

This version is free for you and works with your current license codes.

Posted by: Ger Rietman | October 22, 2012

Create your own AIS targets in


NemaStudio AIS simulator

Because NemaStudio transmits the simulated AIS ships positions similar to a ‘real’ AIS transceiver it is very well possible and actually very easy to use the simulated AIS messages from NemaStudio for uploading to web services and sites like

Setting up the connection to

It is as simple as in NemaStudio to set up a few AIS targets and set the output port to UDP, the remote IP address to and the remote port to 5321.

Trial version vs full version

Although the trial version of NemaStudio will work OK you will hardly be able to create AIS streams of sufficient length and duration since the maximum number of AIS messages is limited to 500 per run in the trial version. You will need to obtain the full version of NemaStudio in order to create AIS streams of sufficient length for uploading to for at least a few hours to see your targets sail a track on the marinetraffic maps.

Older Posts »