Serial Lab logo

Serial Lab Serial Lab

Use this command to install Serial Lab:
winget install --id=SerialLab.SerialLab -e

Serial Lab is a Windows application (Written in C#) that reads, writes and plots data from/to serial port.

Serial Lab is a Windows application designed to read, write, and plot data from/to serial ports. It provides developers, engineers, researchers, and hobbyists with a robust toolset for managing serial communication in various applications.

Key Features:

  • Reads and writes data to serial ports without freezing under high traffic conditions.
  • Serial plotter supports up to 5 channels with curve fitting capabilities.
  • Three modes for writing data: Send word, Key capture, and Write from file.
  • Displays incoming data as String or Hex format.
  • Data logger saves incoming data to .txt or .csv files.

Ideal for professionals who need reliable serial communication tools, Serial Lab enhances efficiency by simplifying data visualization, logging, and transmission. It streamlines workflows and supports accurate plotting of data when variables are separated by commas and followed by a newline character.

Installation is available via winget, making it easy to integrate into your development environment.

README

Serial Lab is a Windows application (Written in C#) that reads, writes and plots data from/to serial port.

Youtube

https://www.youtube.com/watch?v=9CP6luC7eBs

Features

  • Read and write data to serial ports even under high traffic load without freezing.
  • Serial plotter for up to 5 different channels with useful options for curve fitting.
  • There are 3 different modes to write data to the serial port: Send word - Key capture - Write from file.
  • Displaying incoming data as String or Hex.
  • Data logger to save incoming data to a .txt or .csv file.

How to plot serial data?

In order for the data to be plotted, variables must be seperated by comma ( , ) and a newline ( \n ) character must be added at the end. ####Here an example code for Arduino platform

void setup()
{
	float var1, var2, var3;
	Serial.begin(9600);
}					

void loop()
{
	for(int i=0; i<360; i++)
	{
		var1 = 	sin(i* DEG_TO_RAD);
		var2 = -1*sin(i* DEG_TO_RAD);
		var3 = 	0.5*sin(i* DEG_TO_RAD);
		//send variables
		serial.print(var1);
		serial.print(",");
		serial.print(var2);
		serial.print(",");
		serial.print(var3);
		serial.println();
	}
}

so data must be in this form

var1,var2,var3\n

and the result will be as shown in the image below

Download

Available versions
SerialLabSetupV1.0.0.msi

Author

Ahmed El-Sayed
ahmed.m.elsayed93@gmail.com

License

Licensed under the GNU GPLv3
Icon is designed by Freepik from Flaticon

Versions
1.0.0
Website
License