Vaishnav-Sabari-Girish/ComChan
A Blazingly Fast Minimal Serial Monitor written in Rust
ComChan (Communication Channel)
A Blazingly Fast Serial Monitor for Embedded Systems and Serial Communication
Features โข Installation โข Documentation โข Examples โข Contributing
Table of Contents
Installation
Choose your preferred installation method:
From crates.io
Note
The easiest way to install ComChan is via cargo install
# Install from source
cargo install comchan
# Install the binary directly (faster)
cargo binstall comchanVerify the installation:
comchan --versionFrom AUR
For Arch Linux users, ComChan is available in the AUR (thanks to orhun!):
# Using yay
yay -S comchan
# Using paru
paru -S comchanUsing Homebrew
ComChan can be installed via Homebrew taps:
brew install Vaishnav-Sabari-Girish/taps/comchanFrom source
Build from source for the latest development version:
# Clone from GitHub
git clone git@github.com:Vaishnav-Sabari-Girish/ComChan.git
# Or clone from Codeberg
git clone ssh://git@codeberg.org/Vaishnav-Sabari-Girish/ComChan.git
# Build and run
cd ComChan
cargo build --release
cargo runDocumentation
๐ The full documentation for ComChan can be found at vaishnav.world/ComChan
Common Commands
Basic Serial Monitor
Monitor serial output from your device:
comchan -p <port> -r <baud_rate>
# OR
comchan --port <port> --baud <baud_rate>Example:
comchan -p /dev/ttyUSB0 -r 9600Verbose Mode
Get detailed information about the serial connection:
comchan -p <port> -r <baud_rate> -v
# OR
comchan --port <port> --baud <baud_rate> --verboseLog Mode
Save serial output to a log file:
comchan -p <port> -r <baud_rate> -l <log_file_name>
# OR
comchan --port <port> --baud <baud_rate> --log <log_file_name>Serial Plotter
Visualize sensor data in real-time:
comchan --port <port> --baud <baud_rate> --plot
# OR
comchan -p <port> -r <baud_rate> --plotAutomatically Detect Serial Ports
Let ComChan find your serial device automatically:
# With default baud rate (9600)
comchan --auto
# With custom baud rate
comchan --auto --baud <baud_rate>
# OR
comchan --auto -r <baud_rate>Example:
comchan --auto --baud 115200Use a Configuration File
Starting from version 0.1.9, you can use a configuration file instead of command-line flags:
# Generate default configuration file
comchan --generate-configThis creates a config file at ~/.config/comchan/comchan.toml
Example Configuration:
# ComChan Configuration File
#
# This file contains default settings for comchan serial monitor.
# Command line arguments will override these settings.
#
# To use auto-detection, set port = "auto"
# Available parity options: "none", "odd", "even"
# Available flow control options: "none", "software", "hardware"
port = "auto"
baud = 9600
data_bits = 8
stop_bits = 1
parity = "none"
flow_control = "none"
timeout_ms = 500
reset_delay_ms = 1000
verbose = false
plot = false
plot_points = 100Note
The default baud rate is 9600. You can customize it in the config file or override it with command-line flags (--auto, --port/-p, --baud/-r, --plot).
Features
Current Features โ
- Read Serial Data - Monitor incoming serial data from any serial port
- Write to Serial Port - Send data to your serial device
- Basic Logging - Save serial output to log files
- Auto-Detect Serial Ports - Automatically find connected serial devices
- Configuration Files - Use
.tomlfiles instead of command-line flags - Terminal-Based Serial Plotter - Visualize data in real-time with the
--plotflag - Multiple Sensor Plotting - Plot multiple sensor values simultaneously with legends
Planned Features ๐ง
- Export Serial Data - Write serial data to files (
.txt,.csv, and more)
Legends
- โ Implemented Features
- ๐ง Yet to be implemented
Examples
"Hello World" Program
Basic serial monitoring in action:
๐ View Arduino code
User Input
Interactive serial communication:
๐ View Arduino code
Serial Plotter
Real-time data visualization:
๐ View Arduino code
Auto Serial Port Detector
Automatic port detection in action:
Using the Configuration File
Serial Monitor (plot = false)
Serial Plotter (plot = true)
Serial Plotter Multiple Sensor Values
Plot multiple sensors simultaneously with automatic legends:
๐ View Arduino code
Full Working Demo
Complete workflow demonstration:
ComChan in Windows
As of Version 0.2.2, ComChan works perfectly on Windows with no limitations!
Windows Installation:
- Download the
.exefile from the releases page - Open Command Prompt or PowerShell
- Navigate to the download location:
cd Downloads
- Run ComChan:
comchan.exe --help
Contributing
We welcome contributions to ComChan! ๐
Please see our CONTRIBUTING.md for guidelines on how to contribute.
Feedback Form
We value your feedback! ComChan uses Bashforms for terminal-based feedback submission.
To submit feedback, run this in your terminal:
ssh -t bashform.me f comchanOSCG Guidelines
Contributor Guidelines
๐ View Contributor Guidelines
Mentor Guidelines
Community
Stargazers over time (Graph)
Made with โค๏ธ by the ComChan Community









