GitHunt

Banner

ComChan (Communication Channel)

A Blazingly Fast Serial Monitor for Embedded Systems and Serial Communication

Release

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 comchan

Verify the installation:

comchan --version

From AUR

For Arch Linux users, ComChan is available in the AUR (thanks to orhun!):

# Using yay
yay -S comchan

# Using paru
paru -S comchan

Using Homebrew

ComChan can be installed via Homebrew taps:

brew install Vaishnav-Sabari-Girish/taps/comchan

From 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 run

Documentation

๐Ÿ“š 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 9600

Verbose Mode

Get detailed information about the serial connection:

comchan -p <port> -r <baud_rate> -v
# OR
comchan --port <port> --baud <baud_rate> --verbose

Log 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>

๐Ÿ“„ View example log file

Serial Plotter

Visualize sensor data in real-time:

comchan --port <port> --baud <baud_rate> --plot
# OR
comchan -p <port> -r <baud_rate> --plot

Automatically 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 115200

Use 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-config

This 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 = 100

Note

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 .toml files instead of command-line flags
  • Terminal-Based Serial Plotter - Visualize data in real-time with the --plot flag
  • 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:

Hello World Demo

๐Ÿ“ View Arduino code


User Input

Interactive serial communication:

User Input Demo

๐Ÿ“ View Arduino code


Serial Plotter

Real-time data visualization:

Serial Plotter Demo

๐Ÿ“ View Arduino code


Auto Serial Port Detector

Automatic port detection in action:

Auto-detect Demo


Using the Configuration File

Serial Monitor (plot = false)

Config Monitor Demo

Serial Plotter (plot = true)

Config Plotter Demo

Serial Plotter Multiple Sensor Values

Plot multiple sensors simultaneously with automatic legends:

Multiple Sensor Plot

๐Ÿ“ View Arduino code


Full Working Demo

Complete workflow demonstration:

Full Demo


ComChan in Windows

As of Version 0.2.2, ComChan works perfectly on Windows with no limitations!

ComChan Windows Demo

Windows Installation:

  1. Download the .exe file from the releases page
  2. Open Command Prompt or PowerShell
  3. Navigate to the download location:
    cd Downloads
  4. 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 comchan

OSCG Guidelines

Contributor Guidelines

๐Ÿ“– View Contributor Guidelines

Mentor Guidelines

๐Ÿ“– View Mentor Guidelines


Community

Stargazers over time (Graph)

Stargazers over time


Made with โค๏ธ by the ComChan Community

โฌ† Back to Top

Vaishnav-Sabari-Girish/ComChan | GitHunt