1 unstable release
Uses new Rust 2024
| 0.1.0 | Sep 25, 2025 |
|---|
#106 in Embedded development
166 downloads per month
33KB
734 lines
🔌 Sermonizer
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
sermonizerand 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.
Dependencies
~13–28MB
~383K SLoC