comchan
Minimal serial monitor for the terminal
TLDR
SYNOPSIS
comchan [OPTIONS]
DESCRIPTION
comchan (Communication Channel) is a fast, minimal serial monitor written in Rust for communicating with serial-connected devices such as Arduino, ESP32, Teensy, and Raspberry Pi from the terminal. It supports reading and writing serial data, auto-detecting connected devices, real-time terminal-based plotting for sensor data with multiple sensor visualization, colorized log output, and cross-platform operation on Linux, macOS, and Windows.
PARAMETERS
-p, --port PORT
Specify the serial port (e.g., /dev/ttyUSB0, /dev/ttyACM0, COM3).-r, --baud RATE
Set the baud rate (e.g., 9600, 115200).--auto
Auto-detect the connected serial port.-v, --verbose
Show detailed connection info.-l, --log
Save output to a log file.--plot
Enable real-time terminal-based graphing of sensor data.--generate-config
Generate a default configuration file at ~/.config/comchan/comchan.toml.--help
Display help information.
CONFIGURATION
Configuration stored at ~/.config/comchan/comchan.toml. Supports port (or "auto"), baud (default: 9600), data_bits, stop_bits, parity (none/odd/even), flow_control (none/software/hardware), timeout_ms, reset_delay_ms, verbose, and plot. Command-line flags override config file values.
CAVEATS
On Linux, users may need appropriate permissions to access serial ports (typically membership in the dialout or uucp group). The --plot feature expects numeric data from the serial device to graph correctly.
HISTORY
comchan was created by Vaishnav Sabari Girish and is written in Rust under the MIT license. It is available via cargo, AUR, and Homebrew, and follows the Unix philosophy of doing one thing well.

