Introduction
Serial Port Notifier (formerly Serial Port Monitor) is a utility that sits in your notification tray and monitors the serial ports on your computer. When a port is added or removed, a notification is shown containing the COM port name, allowing you to easily keep track of what’s been plugged in and out. This saves having to navigate to Device Manager to figure out what’s been plugged in. Program launchers can be defined that allow programs to be quickly started using the selected serial port. Custom labels can also be added to ports to allow for easy identification.
Download
Serial Port Notifier can be downloaded from the project’s SourceForge page.
Support
If you have any problems, please post a message on the SourceForge Serial Port Notifier Forums.
Hello,
I have installed your tool under Windows 8.1 Prof. Edition and wind an Icon in the System Tray. I see the available ComPorts but I do not see any window with the data traffic on the port. What do I wrong?
Best regards From Lübeck-Travemünde / Germany Baltic Sea
Svens
Hi Svens,
I think you may be confusing another program with the same name. This software is designed just to show the COM ports that are plugged in to the computer. It doesn’t actually monitor the traffic passing through.
Thanks for this it has a use for alerting com port changes. I see it doesnt at present monitor activity. It would be most useful to show some minimal signon type activity with limits of course so the program does not get bloated. ie When attaching a new device such as a usb emulator for a cpu or fpga some note of initial com activity would be a low impost addition if at least to alert and warn of “something going” especially as to then open a further program to monitor can miss the initial activity…
Thanks will try this out on couple of lab setups, cheers
Thanks for the feedback Mike. I’ll see if I can implement your suggestions.
Maybe you can improve this utility adding a sort of identification based on PID&VID like this add-on for the Arduino IDE
https://github.com/per1234/zzInoVIDPID
That’s a good idea – I’ll have a look at integrating something like that in.
Dude my hero,
needed this too long.
This is a most excellent utility. One addition I’d love to see is the ability to assign a text label to a COM port. I have 17 active devices COM devices, and I have to keep a written list to remember that COM72 to assigned to device X, COM73 is device Y, etc.
That’s a great suggestion – I’ll try and add it in.
Came here to make this exact comment! Would love the ability to do this.
It’s in the works! Please check this ticket https://sourceforge.net/p/serial-port-monitor/tickets/3/
I’m happy to announce this feature has now been implemented! Please download the latest version and give it a try.
I’m happy to announce this feature has now been implemented! Please download the latest version and give it a try.
Great program. There appears to be some incompatibility with the Silabs CP2102 driver (WIN10 Pro). It properly identifies the port creation but in the port list there is a string of Chinese characters after the port name which are transferred as the COM port name passed to a launcher. Problem looks like at the Silabs end but could be worked round by cleaning up the port name/string so it can only be of the form COMxxx.
Thanks for the feedback. That’s really odd – presumably it works fine with other COM ports? Unfortunately, not all serial ports will be in the form COMxx (see this ticket https://sourceforge.net/p/serial-port-monitor/tickets/1/). Does the COM port name look OK in device manager?
Yes, look fine in device manager, enumerates as “Silicon Labs CP210x USB to UART bridge (COM3)”, and the notification refers to COM3 without the extra characters. Seems fine with all other serial bridges I could test (PL2303, CH340, FTDI, PC Internal COM Port, & Bluetooth Serial) so it seems like a quirk of the Silabs driver. BTW, this is the default driver that Windows finds.
I’ve just installed the drivers SiLabs post in their web site. These are newer (dated 27 March this year) and the problem seems to go away so I guess it was a problem their end . Doh! should have thought of that first 🙁
Reading the Silabs release notes I suspect it could have been something to do with
Changes for VCP Driver
==============================================================================
MCUSW-473 | Fix length of nul-terminated legacy Dos Name string written to
| HARDWARE\DEVICEMAP\SERIALCOMM Registry key.
FYI, just tried it on a machine that had not had one of these devices plugged in before and can confirm that Windows Update serves the latest driver that does not display the issue. Thanks for the response though.
Glad you managed to get it working.
I accedently added a ” in the settings for a new terminal program.
Now the Program shows an Error messange: “Illegales Zeichen im Pfad” when I enter the settings dialog.
But the defective entry is not shown in the dialog, so I am not able to delete it.
Where is the configuration stored, so that i can delete the entry manually?
Thanks in advance,
Dario
Thanks for letting me know. I’ll take a look and see if I can prevent this from happening in the first place.
Just found the Konfig file:
c:\Users\[username]\AppData\Local\Helm_PCB\Serial_Port_Monitor.exe_Url_nw4x32fokrxu0ijd0ht2lhhrb3xxzggx\1.1.2.0\user.config
I’ve updated Serial Port Notifier to validate the program path when you try and save a launcher. The program will now prevent invalid characters from being saved in the launcher, which should prevent the problem you faced. Thanks for bringing it to my attention.
It is a wonderful tool and help me a lot. I have looked for it for a long time. Thank you very much.
BTW, could it shows the title of the port as it is in device manager?
The titles shown in device manager like below:
> Ports(COM & LPT)
> JLink CDC UART Port (COM6)
> USB Serial Port (COM8)
I love this, excellent work!
It would be very helpful if besides name for a port you could also define some other strings, and access those strings when creating a launcher by %3 %4 and so on.
This way you could add a port specific argument to a launcher command. I have this need where some ports I have are of one type and some are of another type and I need to pass different parameters to a launched program (for example baud rate or some other option)
Hello, thanks for your suggestion. What other strings would you want to pass to programs?
Any user defined string that I can assign to a COM port, similar to how you can assign a name to each com port, these strings would be assigned to a com port and could be accessed using %number in the launcher. so if I assign COM1 a single string with value 115200 I can make a launcher like this: serialtool –port=%1 –baudrate=%3
Why don’t just you just specify the launcher like this:
serialtool –port=%1 –baudrate=115200
If you need multiple baud rates, just define multiple launchers with different baud rates. I’ve done that in the example in the article above:
https://helmpcb.com/wp-content/uploads/2016/08/Settings-2.png
Very useful, thanks !
Thank you for this utility. It is just what I wanted to identify port numbers when using USB to serial adapters without having to open Device Manager.
I am ready to temporarily uninstall for testing and I can’t. The program is running in the tray but does not show up in the installed apps list and can’t be accessed by add/remove program.
It sounds like maybe the installation has failed half way. Have you tried running the installer again, or manually deleting the executable and its files from the program files folder first and then running the installer again?
I see in the screenshots above the utility shows some descriptions (COM0COM a) for some ports.. Is there a way to enable that on the latest build?
Even using com0com to create some virtual ports I only see the COMx naming.
Hi Sam, the port names come from Windows by default. So whatever they’re called in device manager is how they’ll be labelled in the program. You can add a custom label from the “Rename” option in the right click menu.
Could you please provide either a Windows ARM64 build, or allow me to generate one?
Also: I use the tool on my main machines, and they work fine with it. However, when running the tool inside my VMware machines (Windows 10,11,12) they do not seem to ” see” if a port is being “unplugged” from the (virtual) machine (i.e. if I disconnect a port from the VM.) So, it will have COM10, COM11, COM12, and so on. It does remove it when I then try to connect to one of those ghost ports.
Hi Fred. You can get the source code from https://sourceforge.net/projects/serial-port-monitor/. Feel free to compile it to ARM64 if you have the necessary tools. I have successfully tested the program in a virtual machine (VirtualBox) previously. Regarding your issue with VMWare, I wonder whether it’s an issue with the virtual machine? Unfortunately, I don’t have access to VMWare to test. Feel free to download the source and debug the application in the virtual machine.
THANK YOU FOR THIS PROGRAM.
I am a field service tech and use a Toughbook laptop as my main tool. I take care of a number of industrial controllers that use a serial connection and use either a proprietary management program or a terminal program to manage them. Until I found this program I had a Device Manager icon on my laptop Windows desktop.
In the next version I would REALLY appreciate two additions to the Settings screen:
1) an option to change the font, size and duration of the pop-up message.
2) an option to position it at the current location or in the center of the screen (with an opaque box around the message).
Both of these modifications would help us old farts that use glasses.
Again… THANK YOU FOR THIS PROGRAM.
Hi Mike, thanks for your message, I’m glad to hear you find the program useful!
I can’t promise if and when I will make the changes you mentioned, but in the meantime, (assuming you’re using Windows 10/11) if you go into the Windows Settings -> Ease of Access you can increase the font size of the entire system and if you scroll down, you can also increase the notification duration time from the default of 5 seconds up to 5 minutes.
Hopefully this will help make things easier without having to wait for any changes to be made.