USB multimeter logger and remote control for UNI-T and Voltcraft digital multimeters, on Linux, macOS and Windows.
Read, record and remote-control a digital multimeter over its USB cable. Supports the UNI-T UT61E+, UT61B+, UT61D+, UT161, UT171, UT181A, UT803, UT804, UT8802 and UT8803 and the Voltcraft VC-880, VC650BT and VC-890 — see supported devices.
Includes a CLI with text, CSV and JSON output and a GUI with real-time graphing.
- Live reading with the meter's flags and sub-values, and buttons to switch mode, range, HOLD, REL and MIN/MAX from the screen
- Time-series graph with minimap, cursors, mean and min/max overlays, and reference lines with threshold triggers
- Recording for hours at a time, with CSV export
- Software scale, offset and unit relabel for clamps, shunts and sensors
- Live specifications (resolution, accuracy) for the current range
- Big meter mode for bench-mount use
- Stream readings as text, CSV or JSON, at any interval
- Switch mode, range, HOLD, REL, MIN/MAX and Peak by name, or press the meter's buttons
- Coulomb counting / energy integration (
--integrate) - Software scaling (
--scale,--offset,--unit) for clamps, shunts and sensors - Guided protocol capture wizard for bug reports and verifying new meters
$ 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
{"_metadata":{"device":"UNI-T UT61E+"}}
{"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, or switch the meter's mode, range, HOLD, REL, MIN/MAX and Peak without touching it:
$ dmm-cli command hold
Sent hold
$ dmm-cli set mode "AC+DC V"
Meter now in AC+DC V
$ dmm-cli set range 22V
Meter now in 22V (manual range)
The meter on the cable is detected automatically; --device pins a model:
$ dmm-cli --device ut8803 capture
WARNING: UNI-T UT8803 support is experimental (unverified against real hardware).
| Family | Models | Status |
|---|---|---|
| UT61+/UT161 | UT61E+, UT61B+, UT61D+, UT161B/D/E | ✅ Verified (UT61E+, UT61B+; other models) |
| UT171 | UT171A/B/C | 🧪 Experimental |
| UT181A | UT181A | 🟡 Partly verified |
| 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 |
✅ = confirmed on real hardware. 🟡 = connection and the main modes confirmed, the rest still to verify. 🧪 = reverse-engineered from vendor software, not yet tested on real hardware. Click either to help verify.
Cables, what to switch on and what each model has confirmed are in supported devices. Your model is not listed? Open an issue with its details.
- Download the latest release for your platform and extract it.
- Give the tool access to the cable:
- Linux: install the udev rule, then re-plug the cable.
sudo cp udev/70-dmm-tools.rules /etc/udev/rules.d/ && sudo udevadm control --reload-rules - Windows: the CP2110 cable may need the Silicon Labs driver; other cables need nothing.
- macOS: nothing to install.
- Linux: install the udev rule, then re-plug the cable.
- Switch the meter's USB output on and run:
dmm-cli read # stream measurements dmm-gui # launch the GUI
Setup & troubleshooting covers drivers, udev details, headless machines, building from source and dev builds.
For users:
For contributors: CONTRIBUTING.md for bug reports, protocol captures and code changes; the development guide, architecture, protocol details, UX design and adding a device.
GPL-3.0-or-later. See LICENSE for details.
Community projects whose work informed or cross-checked ours, with thanks:
- ljakob/unit_ut61eplus and mwuertinger/ut61ep — UT61E+ protocol, in Python and Go
- gulux/Uni-T-CP2110 — UT171 captures and parser
- antage/ut181a and libsigrok
uni-t-ut181a— UT181A protocol - pylablib — VC-880 tables and flags
- Silicon Labs AN434 — CP2110 HID-to-UART specification; UNI-T — the UT61+ user manual
