Posted by: Ger Rietman | May 6, 2009

Virtual Serial Port drivers and NMEA0183

image

Many NMEA related PC applications send and/or receive NMEA data over a serial connection according to the NMEA0183 standards.

The official NMEA standard recommends a EIA-422 connection, but that is impractical on a normal PC so in most cases RS232C will be used.

In the image we see a serial cross cable, sometimes also known as null-modem cable. It crosses the transmit and receive lines and is used to interconnect two serial ports, either on the same computer or between two different computers. Of course, this cable can only be used directly if there are serial com ports available.

Unfortunately serial ports are becoming rare species on today’s PC’s and almost all currently available laptops have no serial port at all anymore.

So how do we connect serial devices to a PC or how do we connect two PC applications that require serial port communication if there are no serial ports available on our system? Fortunately there are several options we can choose from.

Option 1, USB-to-Serial adapters

If both, or one of the computers we want to connect lack any serial com port, we can use USB-to-Serial adapters. During the installation of the drivers for such an adapter the setup software will install one or more serial ports on your computer. You can check this with Windows Device Manager. But still you need the cross cable for the connection even if you use a USB-to-Serial adapter on both computers, but now you connect the cable between both adapters.

Option 2, Bluetooth

Another option is using Bluetooth. For less than $20 you can purchase two Bluetooth USB sticks and configure serial ports on them. After pairing you have a wireless serial connection between two computers. Make sure that serial ports are supported when you buy the Bluetooth adapters!

Option 3, Virtual Comports

For two applications to be able to talk to each other over a serial connection on one and the same computer, this is by far the most convenient solution. A commercial product for example comes from Eltima, http://www.virtualserialport.com/,  and another one from KernelPro image http://www.kernelpro.com/advanced-virtual-com-port.html. There are lots of others of course. A great open source virtual comport product I like very much is com0com. You can create any number of serial port pairs on your system. Each pair you may compare to a cross cable if you like. For example, app A transmits data via  COM10, app B receives this data via COM11. I use com0com a lot in the configuration as shown in the screenshot while testing NemaStudio against different software like SeaClear, Y-Tronic, Fugawi, CoastalExplorer and others. Just recently I discovered another virtual serial port emulator from Eterlogic, VSPE. I have not been able to test it out yet, but the specs look very promising, and from the specs it should be able to do a lot more but just virtual serial port emulation.

Other options

If you need to connect an external serial device like a GPS and your desktop PC has no serial ports you can purchase and install extension cards with one or more serial ports. For a laptop with a PCMCIA slot you could also buy a PCMCIA card with one or more serial ports.


Responses

  1. Note on Virtual Port Emulation on Windows7 64-bit:
    I tried com0com and some of the other virtual port emulators to no avail in Win7 64. It needs to see signed drivers. I tried the VSPE link, and wound up purchasing the 64-bit license for 24 bucks, and now everything works fine. If you’re running 64-bit, you must have signed drivers.
    Works great with SeaClear.

    • Hi Marty, thank you very much for this comment. It triggered me to find alternatives for 64 bit Win7 and I found this free virtual serial port driver: http://www.hhdsoftware.com/free-virtual-serial-ports.
      Haven’t tried it though…

    • Marty Bolin,

      What option did you use to connect Seaclear and NemaStudio?
      Connector? Splitter? Pair?


Leave a comment

Categories