Usage Scenarios

Some devices and applications work only with COM ports. If there are not free serial ports in your system, or your computer does not have them at all, you can provide your system with virtual COM ports created with the help of the dedicated program, Virtual Serial Port Driver PRO. VSPD PRO is based on the advanced technology which allows creating as many virtual serial interfaces as you need. Virtual ports completely emulate the behavior and configuration of hardware serial ports and are recognized by your system or any Windows application as “standard” serial ports.

Additionally to managing virtual COM ports, with VSPD PRO you can create advanced serial port bundles. Here are some examples of how port bundles work.


In this example, COM1 (real port, set as main one) is split into several virtual ones: COM2 (main) and COM3. Real port (COM1) parameters are dynamic and depend on the parameters of the main port of the opposite side (COM2). Now data coming into the split real port (COM1) will be sent to each out-side virtual port (COM2 and COM3), and vice versa.

For example, you have a GPS sensor, connected to COM1. It delivers GPS data to COM 2 and COM3, connected correspondingly to two navigational programs which need GPS data (e.g. Coastal Explorer and Electronic logbook).


Here, several real ports COM1 and COM2 (main) are joined into one virtual port (COM3). Everything sent to joining port (COM3) will be duplicated to all joined ones: COM1 and COM2.

For example, two serial ports (COM1 and COM2) which are connected to the stenograph writers machines are joined to the single port on your computer (COM3). The application connected to COM3 can work with only one port. So, by joining two ports into one, you make it possible for the application to work with two devices at a time.

Ports switcher

Here, several real ports – COM1, COM2 – are joined into one virtual port (COM3).

Several applications work with a virtual COM3. Each time any of the applications needs to work with a serial device, data from COM3 will be sent to either COM1 or COM2. The port choice will depend on whether it is free at the moment; this choice will be done automatically.

Several applications can open virtual COM3 at a time and connect to the device which is free at the moment among several identical devices, connected to real COM1, COM2. The number of applications which can connect to COM3, cannot exceed the number of real ports in a bundle.


In this example, a real port (COM1) is shared with two applications which can control signal lines and manage real port settings.

Imagine that now your meteorological station, connected to COM port (COM1), can send to and receive data from two programs simultaneously (e.g., software that allows you to connect your PC to a weather station to display data for analysis) (Weather Display and Virtual Weather Station, for example).

Note: You can share a real port among as many applications as you need. The number of applications that can be connected to a shared port is not limited to two ones, like in the example.


In this example, all serial traffic from a real port (COM2) is redirected to another port (COM3) which is virtual. Real port parameters are dynamic and depend on the parameters of the main port of the opposite side (COM3).

It is an ideal solution to ease your work with any serial port device or application which requires specific configuration settings, e.g., it can work only with COM3, like in our example.

Here’s another example of ports traffic redirection. We have two devices which need to communicate serial data. What we do is create a port bundle with a real COM1 on the IN-side and a real COM2 on the OUT-side. Then, we connect our devices to COM 1 and COM2 correspondingly:

Now, these two devices can exchange data. Besides, you can use some monitoring software, like Serial Port Monitor, to collect the transmitted data for its further analysis.

Complex ports bundles

Data comes to the IN-side of the bundle from virtual port COM1 and then is split into several flows and directed to COM3 (virtual, main) and COM4 (virtual). And, vice versa, data comes to the IN-side from COM3 and COM4 and is joined into a single flow into COM1.

Such complex port bundle helps connect, for example, GPS Emulator application (virtual COM1), and two programs (some navigational ones) (COM3 and COM4). Thus, data coming into the virtual port (COM1) will be sent to each out-side virtual port (COM2 and COM3), and vice versa.

Now let’s consider another example of creating a complex bundle, where COM1 is a shared port:

We can connect, for example, GPS Emulator application to virtual COM2, and share COM1 with several applications, which now can receive data from COM2.