Skip to content

Help wanted: Voltcraft VC-880/VC650BT protocol verification (real hardware needed) #13

Description

@antoinecellerier

Summary

The Voltcraft VC-880 and VC650BT protocols have been implemented based on clean-room reverse engineering of the Voltsoft DMSShare.dll software, but have never been tested against real hardware. Every aspect needs end-to-end verification.

What we need

Someone with a Voltcraft VC-880 or VC650BT multimeter and the CP2110 USB adapter.

What needs verification

  • Basic connectivity — live data frames received via debug command
  • PC button activation — does the meter start streaming after pressing PC?
  • Function code mapping (19 codes, 0x000x12) — do mode labels match the LCD?
  • Range byte values (0x30-based ASCII) per function code — correct ranges?
  • Main display value (7 ASCII bytes) — parsed values match LCD?
  • Sub-displays (sub1, sub2, bar) — format and content
  • Status flag bytes (7 bytes, 28 named flags):
    • Byte 31: Rel (bit 0), Avg (bit 1), Min (bit 2), Max (bit 3)
    • Byte 32: Hold (bit 0), Manual (bit 1), OL1 (bit 2), OL2 (bit 3)
    • Byte 33: Warning (bit 1), LowBatt (bit 3)
  • Overload detection (OL1 flag + "OL" in display string)
  • Commands: hold (0x4A), rel (0x48), range_auto (0x47), range_manual (0x46), max_min_avg (0x49), light (0x4B), select (0x4C)
  • Streaming rate (manual says 2–3 Hz)
  • VC650BT compatibility (installers are byte-identical, should work identically)

Verification steps

1. Enable USB communication

Press the PC button on the meter's front panel to enable USB data output.

2. Run the capture wizard

cargo run --bin dmm-cli -- --device vc880 capture

The wizard will walk you through each measurement mode. Follow the prompts, confirm what the LCD shows vs. what the tool parsed.

3. Raw byte dump

If the capture wizard doesn't work at all (no response from meter), try a raw debug dump:

RUST_LOG=dmm_lib=trace cargo run --bin dmm-cli -- --device vc880 debug

This shows raw HID bytes. Even if parsing fails, the raw dump tells us if framing is correct.

4. Basic reading

cargo run --bin dmm-cli -- --device vc880 read --count 10

Compare each displayed value against the meter's LCD.

What to report

  • Meter model (VC-880 or VC650BT)
  • OS and version
  • Result of each step above
  • The capture YAML file (if the wizard produced one)
  • Any raw debug output if things didn't work
  • Screenshots of the meter's LCD alongside the tool's output are very helpful

Protocol reference

See docs/research/vc880/reverse-engineered-protocol.md for the full wire protocol specification.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions