SerialTool: The Most Complete Serial Port Software

Why is SerialTool

Discover the limitless potential of SerialTool, the ultimate serial communication software designed to seamlessly operate on Windows, MacOS, and Linux platforms. With its unrivaled multiplatform compatibility, SerialTool empowers you to effortlessly communicate with your devices across different operating systems, ensuring maximum flexibility and convenience.

Take command of your serial communication like never before with SerialTool's advanced features. Trigger alarms based on specific buffer conditions to stay alerted and respond promptly to critical events. Automate your workflow by setting up auto-answers, allowing you to streamline processes and achieve remarkable efficiency.

SerialTool stands out from the crowd with its unique multiplatform support, allowing you to effortlessly switch between Windows, MacOS, and Linux without compromising performance or functionality. Say goodbye to the hassle of managing multiple software instances, as SerialTool seamlessly integrates multiple serial ports within a unified interface. Monitor and control multiple connections effortlessly, all within a single software instance.

Record and capture your serial traffic with ease using SerialTool's built-in logging capabilities. Preserve valuable data, analyze communication patterns, and troubleshoot issues effectively with a comprehensive log of your serial communication sessions.

Experience the unrivaled power, versatility, and reliability of SerialTool as it revolutionizes your serial communication experience. Unlock a world of possibilities, enhance productivity, and gain complete control over your devices. Elevate your serial communication endeavors with SerialTool, the leading-edge software that takes your capabilities to new heights.

What is SerialTool

SerialTool is a professional Serial Port Software to quickly and easily communicate with your PC Serial Port.
SerialTool is the result of years of development and implementation of COM port functionalities.
Many features have been designed to facilitate embedded COM port (UART) development.
Among the various functions it is possible to save buffers, insert alarms when a specific buffer arrives, save serial traffic and much more.

A super easy tool for Arduino hobbyists to test their application with AutoAnswer functions.
Ideal for professional users with logging functions and timed multiple packet send for intensive application stress tests.
SerialTool is available for Windows, Mac OS and Linux.

What makes SerialTool unique.

SerialTool is a multiplatform software which uses native functions for each Operating System and maximizes the performaces of each platform that is runs on.
Its common and intuitive Graphical User Interface makes it easy to use on every enviroment and it is extremly user friendly, enhancing a lot of features that can handly be found in other serial port communication software.

What is a Serial Port

Serial port in embedded electronics is all about connecting circuits (processors or other integrated circuits) to create a interdependent system. In order for those individual circuits to swap their information, they must share a common communication protocol. In most of the cases nowadays it is very common to connect a PC to an Arduino board.
There are plenty of applications you can develop but in the majority of cases you need to communicate somehow with the outside world. This is when the Serial port comes into play!

Asynchronous Serial Communication

Asynchronous serial communication is a communication interface in which the signals used are not synchronized to each other using a common clock signal. Instead, start and stop bits are used to indicate the beginning and end of a data message. This type of communication utilizes a point-to-point type of interface, meaning that only two devices can be linked together to communicate. These two devices must also agree upon the the rate at which bits will be transmitted and received, known as the baud rate, since there is no clock signal to indicate such transitions. Furthermore, asynchronous serial communication can be implemented in either a full-duplex (independent transmit and receive lines) or half-duplex (shared transmit/receive line) configuration, making it a versatile communication protocol that can be used in many different applications.

The asynchronous serial communication interface utilizes a receiving signal (RX) and a transmitting signal (TX). When connecting two devices to communicate in full-duplex mode, the RX pin of one device must connect to the TX pin of the other device, as shown in Figure 4.1. Asynchronous serial communication is most commonly implemented using a universal asynchronous receiver-transmitter (UART). UARTs are typically employed in microcontrollers, but can also exist as individual integrated circuits (ICs).

Asynchronous serial communication using a UART interface is very commonly used due to the minimal amount of wires needed for communication and very simplistic protocol required for sending messages. It allows the ability to modify the data packet based on the needs of the application and does not require a separate clock signal to transmit data. However, a UART interface can only be used to communicate between two devices and requires that the baud rates and the bit packets on both devices be the same, or data will be misinterpreted.

Diagram showing asynchronous serial communication between Arduino and PC using SerialTool

Asynchronous Serial Communication - Connections

Asynchronous Serial Communication - Configuration

Data transmitted using asynchronous serial communication or via a UART is sent as packets of bits. These packets contain a start bit, a configurable number of data bits (5-9), an optional parity bit, and a configurable number of stop bits (1-2). The most common structure of a UART bit packet is known as 8-N-1, corresponding to eight data bits, no parity bit, and one stop bit. These bits combined with one start bit create a bit packet that is a total of ten bits long.

Both devices communicating via the serial bus must be configured for the same bit packets and transmitting those bits at the same speed, known as the baud rate. The serial port configuration is often prepended with the baud rate: 115200-8-N-1.

Asynchronous Serial Communication - Start and Stop Bits

The start and stop bits are known as synchronization bits as they indicate to the receiving device when the packet begins and ends. Asynchronous serial communication data lines are held in a high idle state when not transmitting data. The start bit transitions the data line from a high (1) to a low (0) state. Once the receiving device identifies this transition as the start bit, the 5-9 data bits are read at the specified baud rate. The stop bit indicates the end of the data packet by pulling the data line back to the high (1) idle state.

Asynchronous Serial Communication - Start and Stop Bits

The parity bit is an optional bit that provides a very low-level form of error detection as data bits can be altered from things like electromagnetic interference or lengthy data lines. If used, this bit can either be specified as an odd parity or an even parity. An odd parity determines whether the data bits in the bit packet contain an odd number of 1-bits. If there are an odd number of 1-bits, the parity bit is set to 0, if not the parity bit is set to 1. This ensures that the data bits combined with the parity bit contain an odd number of 1-bits. Similarly, an even parity will set the parity bit to 0 if the number of 1-bits in the data message is even, otherwise, the parity bit will be set to 1. If one of the data bits have flipped value during transmission, the parity bit will indicate that the number of 1-bits is incorrect. However, the parity bit is not often used as it is unlikely to detect that the message is incorrect if more than one-bit has flipped.

Asynchronous Serial Communication - Baudrate

An important parameter when using asynchronous serial communication or when interfacing with a UART is how fast data can be transmitted across a serial line. The number of bits per second sent over a UART is defined as the baud rate. Possible baud rates span a wide range and can be almost any value, but since both devices must support the same baud rate, certain values have become standard baud rates. As the baud rate increases, the amount of time required to send or receive data decreases. Table 4.1 provides a list of standard baud rates and the amount of time required to transmit 100 bytes of data using the standard 8-N-1 configuration (requiring 10-bits per byte of data).