TomTerm 1.2

A (not only) serial terminal

An All-In-One PySide6 application for embedded work on serial, TCP, UDP and SSH enabled devices.

Highly inspired by the awesome application "HTerm" which served me well for two decades and starting as a platform fluid clone, TomTerm soon emerged to this feature rich tool with its own place in the field.

TomTerm 1.2 GUI


Features at a Glance


Quick Start

# Install dependencies
pip install PySide6 pyserial paramiko pyte

# Launch with default settings
python3 -m TomTerm

# Launch with a specific config file
python3 -m TomTerm path/to/config.cfg

Requirements: Python 3.12+, PySide6 (>=6.5), pyserial (>=3.5), paramiko (>=3.0), pyte (>=0.8)

Note: paramiko (SSH) and pyte (VT100 terminal) are optional ? TomTerm runs without them but the respective features will be unavailable.


Connection Types

Serial

TCP

UDP

SSH

Client / Viewer


Data Display

TomTerm uses a high-performance custom QPainter rendering engine (not a text widget) to display data in multiple formats simultaneously:


Mixed-Format Input

Combine multiple data formats in a single input line:

Prefix Format Example
h[...] Hexadecimal h[02 FF A0]
a[...] ASCII text a[hello world]
d[...] Decimal d[13 10]
b[...] Binary b[01010101]

Combined example: h[02] a[hello] h[03] sends STX + "hello" + ETX

Input Modes

Send on Enter

Configurable line endings appended on Enter: None, CR, LF, CR-LF, Space, STX/ETX, Null

Input History

Keyboard Shortcuts


Sequence Manager

The sidebar sequence panel manages HTerm-compatible .hts XML sequence files:


Server / Relay Mode

Broadcast serial data to multiple remote TomTerm instances:


VT100 Terminal Emulation

Full terminal emulation for SSH sessions and serial devices with terminal output:

Powered by the pyte screen buffer emulator.


Autosend

Repeatedly send data with configurable timing:


File Operations


Themes

Switch between Light and Dark themes at runtime via Options > Theme:


Configuration

All settings are stored in HTerm-compatible .cfg XML files:

Load/Save via the File menu. Autosave option available for automatic persistence on every change.


Newline Controls

Fine-grained control over line breaking in the data display:


Buffer Management


HTerm Compatibility

TomTerm maintains full compatibility with the original HTerm application:


Building a Standalone App

# macOS .app bundle via PyInstaller
pyinstaller TomTerm.spec

The included TomTerm.spec configures a macOS application bundle with proper metadata and high-resolution support.


License

This software comes as-is without any warranty. It is just a hobby project. It may be used for private and commercial purposes as long as the original reference is not removed. Selling or monetizing this application is strictly forbidden without written permission from the author. It may not be modified or offered for download.


Contact

Written by Thomas Gulden, 2026

Any ideas, suggestions or bug reports? Feel free to contact me: