Skip to content

Help wanted: Voltcraft VC-890 protocol verification (real hardware needed) #14

Description

@antoinecellerier

Summary

The Voltcraft VC-890 protocol has been implemented based on clean-room reverse engineering of the Voltsoft DMSShare.dll software (same source as VC-880, but separate VC890Obj/VC890Reading classes), and has never been tested against real hardware.

The VC-890 is a 60,000-count OLED handheld DMM with a different protocol from the VC-880 — polled (request/response) instead of streaming, 66-byte frames instead of 39, remapped function codes, and 60K count ranges.

What we need

Someone with a Voltcraft VC-890 multimeter and the CP2110 USB adapter.

What needs verification

  • Polled communication model — does sending 0x5E produce a measurement response?
  • Frame extraction (66-byte, AB CD header, BE16 checksum)
  • Function code mapping (19 codes, 0x00-0x12, remapped from VC-880):
    • 0x00=ACV (not DCV!), 0x02=DCV, 0x03=AC+DC V, etc.
  • 60,000 count range values (6V/60V/600V vs VC-880's 4V/40V/400V)
  • Main display value (7 ASCII bytes) — parsed values match OLED?
  • 6 additional sub-display fields — format and content
  • Status flag bytes (8 bytes at msg[56..63]):
    • Byte 57: Rel(0), Avg(1), Min(2), Max(3)
    • Byte 58: Hold(0), Manual(1), OL1(2), OL2(3)
    • Byte 59: AutoPower(0), Warning(1), Loz(2), Void(3)
  • Battery level nibble (msg[62]) — what do the values mean?
  • Misplug warning nibble (msg[63]) — 0=none, 1=mA err, 2=A err?
  • Ack protocol (0xFF+[0x00] after responses) — is it required?
  • Commands: hold, rel, range_auto/manual, max_min_avg, light, select
  • PC button activation requirement

Verification steps

1. Enable USB communication

Press the PC button on the meter.

2. Run the capture wizard

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

3. Raw byte dump

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

4. Basic reading

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

What to report

  • Meter model and firmware version if known
  • OS and version
  • Result of each step
  • LCD/OLED screenshots alongside tool output are very helpful

Protocol reference

See docs/research/vc890/reverse-engineered-protocol.md for the 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