sermonizer

Crates.iosermonizer
lib.rssermonizer
version0.1.0
created_at2025-09-25 10:44:43.70116+00
updated_at2025-09-25 10:44:43.70116+00
descriptionA simple, clean serial monitor with a clean terminal UI for embedded development
homepage
repositoryhttps://github.com/systemscape/sermonizer
max_upload_size
id1854476
size73,356
Joël Schulz-Andres (joelsa)

documentation

README

🔌 Sermonizer

CI License: MIT Rust

A simple, clean serial monitor with a clean terminal UI for embedded development.

Most terminal-based serial monitors are annoying to use - they have clunky interfaces and no sane defaults. We wanted something that could be quickly spun up to interact with embedded devices during firmware development without any hassle.

Features

  • Smart auto-scroll: Follows new data, easy to switch to manual scrolling
  • Clean TUI: Split view with input at bottom, output on top
  • Auto-detect ports: Just run sermonizer and it finds your device
  • Sane defaults: 115200 baud, 8 data bits, no parity, 1 stop bit
  • Hex mode: View binary data as hex bytes
  • Logging: Save RX/TX data with timestamps
  • Fast: Built in Rust, handles high baud rates smoothly

Quick Start

# Install from source (until published to crates.io)
git clone https://github.com/systemscape/sermonizer.git
cd sermonizer
cargo run --release

# Or install locally
cargo install --path .

# Connect to first available port
sermonizer

# Or specify port and baud
sermonizer --port /dev/ttyUSB0 --baud 115200
# Or with cargo run
cargo run --release -- --port /dev/ttyUSB0 --baud 115200

# List available ports
sermonizer --list
# Or with cargo run
cargo run --release -- --list

Usage

sermonizer [OPTIONS]

Options:
  -p, --port <PORT>       Serial port path
  -b, --baud <BAUD>       Baud rate (default: 115200)
      --line-ending <E>   Line ending: none|nl|cr|crlf (default: nl)
      --hex               Display data as hex
      --log <FILE>        Log received data
      --tx-log <FILE>     Log transmitted data
      --log-ts            Add timestamps to logs
      --list              List available ports

Controls

  • Type and press Enter: Send data to device
  • ↑↓ / Page Up/Down: Scroll through output
  • Ctrl+A: Re-enable auto-scroll
  • Ctrl+C / Esc: Exit

Why?

Perfect for:

  • Arduino/ESP32 debugging
  • Firmware development workflows
  • Quick embedded device interaction
  • Protocol testing and development

License

MIT - see LICENSE file.

Commit count: 22

cargo fmt