Serial Port Data Logger Chart
Serial data plotting programs. Logging of the serial port data in the python packages. Includes a terminal emulator or serial data logger. Serial Data Recorders Measure and Record ASCII Data from a Serial Port.
13 thoughts on “ [MATLAB] Real Time Serial Data Logger ” Chris Dourd on October 30.% define COM port # plotTitle = ‘Serial Data Log’;% plot title. DI-194RS Data Logger starter kit with Windaq software. Serial port data acquisition starter kit. Includes WinDaq Chart Recorder Software.
I'm working on an embedded system and it uses one serial port for all it's logging purposes.
Is there a tool out there that allows you to filter lines into different windows (or remove them altogether) so that I can separate the output of the various logging sub-systems and remove spam messages that show up multiple times a second?
I'd prefer an open-source solution, but a highly-recommend closed product might do.
Bill KBill Kclosed as off-topic by Machavity, Pang, Makyen, Paul Roub, Petter FribergMar 17 '17 at 20:35
This question appears to be off-topic. The users who voted to close gave this specific reason:
- 'Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.' – Machavity, Pang, Makyen, Paul Roub, Petter Friberg
10 Answers
I've never thought of doing such a thing, but here's one product that might do the trick: Eltima Serial Port Splitter. It claims to be able to take one COM port and turn it into multiple virtual ports to connect to many applications. You might be able to take each application and just look at one kind of output.
Personally, I would just write a python script with PySerial and something like PyQT or wxPython (GUI libraries) to filter the data to different windows. It's an easy language to learn and makes a handy tool for embedded systems development for things such as this.
Jay AtkinsonJay AtkinsonI would do the following:
Use Python.
- Use Python's logging module
- Use 3rd-party pySerial module
Write a Python program to read the serial data from the device, and translate it into log item for Python's logging module.
- If your device's log messages have some sort of source identifier, translate that to a Python 'logger' name according to your needs, using the
getLogger()function. You can define logger names any way that you need, e.g. to define log source or category. - If your device's log messages have a severity indication, translate it to the
lvlparameter to the logger'slog()method. Otherwise just use one of the logger methods such asinfo().
Make use of the Python logging module's config file feature to filter the data as you want in a particular situation.
- You can filter particular log items by severity and logger name.
- You can log to multiple destinations: You can filter and print certain log items to screen, and at the same time filter and print certain log items to one or more files. You can mix these in any combination that you want. It's very flexible.
- You could have several logging config files, for several different logging purposes, and simply specify which one you want to use via the command line each time you run your program.
I've used Python's logging module with config files to set up my filtering, and it's really terrific.
Craig McQueenCraig McQueenYou can use the Eltima's splitter with Advanced Serial Data Logger, this software has several filter plug-ins that can filter out unnecessary messages.
I guess it will depend on the format your logs have. If they looks like (or you can make them look like) the syslog format, you can try the following:

I would personally use the Python method described above, but another (relatively easy) way to go about it would be to use sed.
Build a couple different filters to show precisely what you want from the stream, and then pipe in tail -f of your serial device file.
The Performance Life. Mark Verstegen and a team of experts and. Core Performance founder Mark Verstegen. The Performance Life 21 Workout Songs to Download Right. Core performance mark verstegen free download.
Paul McMillanPaul McMillanSmarTerm allows you to connect to many different serial ports in a tabbed interface. It also has a Visual Basic like scripting language that allows you to write scripts for different needs. I wrote quite a few scripts for updating embedded software and also automating the saving of logs in multiple tabs.
Mark NorgrenMark NorgrenTry Powershell. You obviously need to add filtering, but this should get you started
Mathias FMathias FMy first choice is to always run PortMon (originally from SysInternals). It has a filter option where you can type in strings to include, exclude, or highlight:
I have used this for years on Windows NT/2000/XP with great success.
Hopefully, you're running a 32-bit Windows OS, because if you're running 64bit, you'll have to go with something like Eltima's product.
DaveDaveThere's always the venerable protocol analyzer.
You might only get one color on the screen, but it's a platform independent serial port logging solution.
WildCrustaceanWildCrustacean