Read, record, and remote-control digital multimeters over USB. Supports UNI-T and Voltcraft meters — see supported devices.
Includes a CLI with text/CSV/JSON output and a GUI with real-time graphing.
- Live measurement streaming with text, CSV, and JSON output
- Coulomb counting / energy integration (
--integrate) - Remote control — send button presses over USB
- Guided protocol capture wizard for bug reports
$ dmm-cli read --count 5
9.090 MΩ [AUTO]
8.902 MΩ [AUTO]
10.182 MΩ [AUTO]
9.399 MΩ [AUTO]
9.176 MΩ [AUTO]
--- 5 samples | Min: 8.9020 | Max: 10.1820 | Avg: 9.3498
Output as JSON for scripting:
$ dmm-cli read --format json --count 1
{"display_raw":" 3.369","flags":{"auto_range":true,"dc":false,"hold":false,...},"mode":"DC V","range":"22V","unit":"V","value":3.369}
Send remote commands:
$ dmm-cli command hold
Sent hold
Connect to other device families with --device:
$ dmm-cli --device ut8803 capture
WARNING: UNI-T UT8803 support is EXPERIMENTAL (unverified against real hardware).
- Real-time value display and time-series graph with minimap
- Statistics, cursor measurements, reference lines with threshold triggers
- Live specifications (resolution, accuracy) for the current range
- Recording with CSV export and remote control buttons
- Big meter mode for bench-mount use
| Family | Models | Status |
|---|---|---|
| UT61+/UT161 | UT61E+, UT61B+, UT61D+, UT161B/D/E | ✅ Verified (UT61E+; other models) |
| UT171 | UT171A/B/C | 🧪 Experimental |
| UT181A | UT181A | 🧪 Experimental — partial hardware verification |
| UT803/UT804 | UT803, UT804 | 🧪 Experimental (#15, #16) |
| UT8802 | UT8802, UT8802N | 🧪 Experimental |
| UT8803 | UT8803, UT8803E | 🧪 Experimental |
| VC-880/VC650BT | Voltcraft VC-880, VC650BT | 🧪 Experimental |
| VC-890 | Voltcraft VC-890 | 🧪 Experimental |
🧪 = reverse-engineered from vendor software; most have not yet been tested on real hardware — click to help verify. UT181A has been partially verified on real hardware (init, framing, and VDC parsing); other modes still need testing.
See docs/supported-devices.md for the full compatibility list and reference implementations.
Pre-built binaries for Linux, Windows, and macOS are available on the Releases page. Or install from source:
cargo install --git https://github.com/antoinecellerier/dmm-tools.git dmm-cli
cargo install --git https://github.com/antoinecellerier/dmm-tools.git dmm-guidmm-cli read # stream measurements
dmm-gui # launch the GUISee setup & troubleshooting for driver installation, udev rules, and platform-specific instructions.
- CLI reference
- GUI reference
- Setup & troubleshooting
- Architecture
- Protocol details
- UX design
- Development guide
- Changelog
See CONTRIBUTING.md for how to submit bug reports, protocol captures, and code changes.
GPL-3.0-or-later. See LICENSE for details.
- ljakob/unit_ut61eplus — Protocol reverse engineering and Python implementation
- mwuertinger/ut61ep — Protocol reverse engineering and Go implementation
- Silicon Labs AN434 — CP2110/4 HID-to-UART interface specification
- UT61B+/D+/E+ | User Manual - UNI-T user manual
