Virtual serial port redirection on Windows 8


Virtual serial ports are a convenient way to test software that accesses hardware over serial ports, particularly when that hardware is not available yet. They can also be useful for logging and tracing purposes.

I maintain a simple tool that allows me to open serial ports, and send and receive data. It is developed using C# and works reasonably well on Linux with Mono. That is the tool I used to test the different redirectors described below.

Free Virtual Serial Ports

Free Virtual Serial Ports version 2.11 by HHD Software works on Windows, right up to version 8.1 64-bit. It is easy to create two bridged serial ports, where data sent to one port arrives at the other and vice-versa. I also love Free Hex Editor Neo by HHD Software.

HW VSP3

HW VSP3 version 3.1.2 does serial to TCP redirection. It requires a TCP server at the other end. One way to set that up is to use ncat utility that accompanies NMAP. I have had the need to play with TCP so often, I have rolled my own little tool.

I found that HW VSP3 sends additional data when a connection is established. It also tended to corrupt data during large transfers. It works all right for small controlled tests.

Paid options

Commercial options that are popular are Virtual Serial Port Driver by Eltima, and Virtual Serial Port Kit by FabulaTech.

8 thoughts on “Virtual serial port redirection on Windows 8

    1. Yes I have, but mono (.NET SerialPort API) refuses to work with device created by socat. I haven’t looked into why. It works fine with actual devices though (FTDI USB serial etc).

  1. Hi! I’m trying to print to a serial printer from a .NET app. How could I accomplish that with the following topology:

    — Remote PC running a .NET app
    — Local PC with a serial printer plugged to physical COM port

    Could I use a COM redirector that creates a virtual port in the remote PC and send the data to the local PC’s physical port?

    Thanks in advance.

    Greetings,
    Daniel.

    1. Hi! Yeah, that should work. You could write a .NET app that reads data off the virtual serial port on the remote PC, and sends it over the network to another app on the local PC, using TcpClient. The app on the local PC dumps the data to the physical serial port.

    1. You’re welcome. Most serial to TCP redirectors (see some referenced in the linked post) partially provide the functionality you seek. I suggest evaluating capabilities of each to see if they meet your needs.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s