Is there a free way to monitor a serial port on Windows 7 x64?

Solution 1:

I just tried Advanced Serial Port Monitor. "Spy" mode does just what you want.

It's only free to try. However, you have to pay for a permanent solution.

Solution 2:

A workaround I have used in the past when I was in the exact same situation as you was to use a 32-bit VM.

It's not the greatest solution, but it does work and has no cost (other than any costs associated in setting up your VM Environment).

Solution 3:

If you have another computer, I recommend running a POSIX OS and using socat to "pipe" the data from one port to another while logging the traffic. This is basically like a hardware-based solution, but it's using general purpose hardware instead of something special. e.g. something like this:

sudo socat -x -v -d /dev/ttyUSB0,b115200,rawer,cr /dev/ttyUSB1,b115200,rawer,cr

What's really neat about this program is that it's super flexible as far as what you can connect to what. You can use TCP/IP sockets, files/streams, etc. transform baud rates, change line endings, etc. Introductory article (dated 2009 but still useful) is available here.

Edit: Just to clarify, instead of having a hardware configuration like this:

Main computer serial port <--> Device serial port

It'd be like this:

Main computer serial port <--> sniffer computer serial port 1 Device serial port <--> sniffer computer serial port 2