Skip to content

Martlet-Tech/Zcom

Repository files navigation

ZCOM

ZCOM

High-performance serial debug assistant — Rust + Tauri

English · 中文

Rust Tauri Platform


Why ZCOM?

After many years of embedded/microcontroller work, I had tried every serial tool out there — but none felt right except sscom (a classic Chinese serial tool). So I never switched.

But sscom has pain points that were never fixed:

  1. Auto-scroll can't pause — data keeps pushing the view down; look back and it snaps to bottom
  2. Multi-string panel steals screen space — embedded in the main window, takes half the UI
  3. UTF-8 encoding broken — Chinese text garbled without manual byte calculation
  4. No dark theme — blinding white interface in a dim lab
  5. Can't pin window — constant alt-tab while reading PDF datasheets
  6. No receiver search/filter — hunting for a specific packet means squinting at a wall of text

With the help of AI-assisted coding, I decided to build a modern replacement. Issues and PRs welcome.

Features

  • 🔥 MCP (Model Context Protocol) Server — built-in MCP HTTP server lets AI agents (opencode, Claude Desktop, etc.) read serial data, inspect port status, and send commands in real time. Enable in settings, connect at http://localhost:9876/mcp.
  • 🔥 Repeat line folding — auto-fold identical consecutive lines into [×N], click to expand, right-click for copy / fold below
  • Serial communication — auto-enumerate COM ports with device descriptions, hot-plug support
  • Dual-mode I/O — text / Hex send and receive, switch on the fly
  • Receive filter — keyword / regex filter, case-sensitivity toggle, Ctrl+F to focus
  • Multi-string sender — independent window, drag-to-reorder, per-item Hex/delay, loop mode, JSON import/export
  • Auto-scroll — pauses on manual scroll, resumes at bottom
  • Timestamps — bidirectional send/receive timestamps
  • Pin window — main window and multi-string window both support always-on-top
  • Themes — dark / light / system / high-contrast
  • Encoding — UTF-8 / GBK selectable, solves Chinese garbled text
  • Checksum — CRC16-Modbus / CRC32 / ADD8 / XOR8, custom insert position
  • File upload — chunked send with abort support
  • Save received data — dump receive buffer to file
  • UI customization — font family, size, and color picker
  • Persistent config — all settings auto-saved

Screenshots

Main window
Main window — dark theme, filter bar, multi-string panel

Multi-string window
Multi-string sender — drag-to-reorder, per-item Hex/delay, loop mode

Repeat line folding
Repeat line folding — auto-fold identical consecutive lines into [×N], click to expand, right-click for copy / fold below

Quick Start

npm install
npm run tauri dev    # development
npm run tauri build  # production build

Tech Stack

Layer Technology
Desktop framework Tauri v2
Backend Rust — serialport / encoding_rs / crc
Frontend Vanilla HTML / CSS / JS
Build Vite + @tauri-apps/cli

Download

Grab the latest build from the Releases page.

License

MIT

About

High-performance serial debug assistant — Rust + Tauri

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages