CoolTerm

CoolTerm is a nice, simple tool I've been using to work with serial devices. It's a straightforward serial port terminal application that's great for data logging, monitoring, and debugging. CoolTerm offers essential features like customizable baud rates, data flow control, and the ability to send and receive both text and binary data. One of its standout advantages is that it's multiplatform, so you can use it on Windows, macOS, and Linux.

However, when comparing CoolTerm to SerialTool, there are notable differences. SerialTool provides a more comprehensive set of features, including advanced monitoring, detailed logging, and extensive analysis capabilities.

While CoolTerm is excellent for basic tasks and offers the convenience of cross-platform compatibility, SerialTool excels in providing robust tools for in-depth troubleshooting and monitoring, making it the better choice for more complex serial communication needs.

I placed this software in second place in my ranking mainly because it is continuously updated and is multiplatform. In reality, CoolTerm is a proper terminal with some hybrid functionalities, which is why I included it in the category of software dedicated to the serial port.

However, it lacks all the typical functions used for sending data in hexadecimal format, alarms, auto-answer functions, a module for ModBus communication, and spy mode. For this reason, I can say it’s very nice, intuitive, and useful if you are just looking for a terminal. Otherwise, if you need something more, unfortunately, this software is very, very limited compared to SerialTool and RealTerm.

 

CoolTerm Interface

CoolTerm Main Screen

This is the main screen that shows the main interface of CoolTerm, a simple and versatile serial port terminal application. The layout is clean and user-friendly, making it easy to navigate and access its features.

Overview of the Interface

At the top, there is a toolbar with several icons and menu options:

  • File Menu: Provides options to create a new connection, open existing configurations, save settings, and other file-related functions.
  • Edit Menu: Contains standard editing functions.
  • Connection Menu: Allows you to configure and manage your serial port connections.
  • Macros Menu: Enables the creation and management of macros for automating repetitive tasks.
  • View Menu: Offers options to customize the appearance of the terminal window.
  • Remote Menu: Likely includes options for remote device management.
  • Window Menu: Manages the arrangement and behavior of multiple windows within CoolTerm.
  • Help Menu: Provides access to documentation and support resources.

Toolbar Buttons

The toolbar contains several key buttons:

  • New, Open, Save: Standard file operations to create a new configuration, open an existing one, and save settings.
  • Connect, Disconnect: Establish or terminate a connection to the selected serial port.
  • Options: Opens the settings menu where you can configure various parameters for the serial connection.
  • Clear Data: Clears the terminal window of any existing data.
  • View: Offers different viewing options for the data in the terminal window.
  • Help: Provides access to help documentation and support.

Status Bar

At the bottom, there is a status bar displaying the current connection settings and status:

  • COM5 / 9600 8-N-1: Indicates that the serial port COM5 is selected with a baud rate of 9600, 8 data bits, no parity, and 1 stop bit.
  • Disconnected: Shows that the serial port is currently not connected.

Signal Indicators

On the bottom right, there are indicators for various control signals:

  • TX (Transmit) and RX (Receive): Show the status of data transmission and reception.
  • RTS, CTS, DTR, DSR, DCD, RI: Indicate the status of different flow control and handshaking signals.

This screenshot gives a clear view of CoolTerm's main interface, highlighting its straightforward design and the ease with which you can manage serial port connections and configurations.

 

Terminal Options

CoolTerm Data handling

 

This screenshot shows the “Connection Options” window in CoolTerm, specifically focused on data handling settings. Here, you can customize how CoolTerm manages and displays the data it receives through the serial port. The options allow you to handle special characters in various ways to ensure that your data is presented correctly and is easy to read.

For instance, you can choose to format tab-separated text, which helps align data neatly in columns. There’s also an option to replace consecutive spaces with tabs, making the text less cluttered and more organized. Filtering ANSI escape sequences ensures that terminal control codes do not interfere with the display of your data.

You can also specify how the display should react to different control characters, like clearing or updating the display when certain characters are received. This is particularly useful for maintaining a clean and up-to-date view of the data.

The settings include options for converting non-printable characters into a readable format, handling backspaces and delete characters, and dealing with the bell character, which can be useful for auditory notifications. Additionally, you can choose to ignore line feed characters or combine multiple carriage returns to streamline the data display.

At the bottom, you can set the text encoding to match the system default or choose another encoding that suits your data requirements. This ensures that the characters are interpreted correctly, preventing any potential issues with data representation.

Overall, these settings provide a high degree of flexibility, allowing you to tailor how CoolTerm handles and displays incoming serial data to suit your specific needs.

 
CoolTerm Transmit

 

This screenshot shows the “Connection Options” window in CoolTerm, specifically focusing on transmit settings. These options allow you to fine-tune how data is transmitted through the serial port, ensuring precise control over the communication process.

You have the ability to use a character delay, which inserts a specified delay in milliseconds between each character sent. This can be crucial when communicating with devices that require a slight pause between characters to process the data correctly. Similarly, you can set a line delay, introducing a delay between each line of data, which can be particularly useful when sending commands that need to be processed line by line.

There is also an option to use a packet delay, which adds a delay between packets of data. This can help manage the flow of data and prevent buffer overflows in the receiving device. The transmit packet size can be adjusted to control how much data is sent in each packet, providing flexibility based on the requirements of your communication setup.

For scenarios where an acknowledgment from the remote device is needed, you can enable the option to wait for a remote echo, specifying a timeout period in milliseconds. This ensures that the transmitted data is received and acknowledged before proceeding with further transmissions.

In the send string options, you can choose to append a termination string, such as a carriage return and line feed (hex: 0D 0A), to each transmitted string. This is often necessary for commands that need to be properly terminated to be recognized by the receiving device.

Lastly, there is an option to notify you after a file has been sent, providing confirmation that the transmission was completed successfully. These settings collectively allow you to customize the transmission process, ensuring smooth and efficient communication with your serial devices.