Difference between revisions of "Victor 70C"
Jump to navigation
Jump to search
Line 66: | Line 66: | ||
| 4 | | 4 | ||
| 1 | | 1 | ||
|} | |||
The deobfuscated payload is then structured as follows: | |||
{| border="0" width="50%" style="font-size: smaller" class="alternategrey sortable sigroktable" | |||
|- | |||
! style="width: 3em;" | Byte | |||
! style="width: 3em;" | Bit | |||
! Value | |||
|- | |||
| 0 | |||
| | |||
| Unused (always contains 0x50) | |||
|- | |||
| 1 | |||
| | |||
| Unused (always contains 0x50) | |||
|- | |||
| 2 | |||
| | |||
| Flags | |||
|- | |||
| | |||
| 0 | |||
| Minus | |||
|- | |||
| 3 | |||
| | |||
| Major measurement modes | |||
|- | |||
| 4 | |||
| | |||
| Value factors and extra measurement modes | |||
|- | |||
| 5 | |||
| | |||
| | |||
|- | |||
| 6 | |||
| | |||
| | |||
|- | |||
| 7 | |||
| | |||
| Decimal point position | |||
|- | |||
| 8 | |||
| | |||
| Unused (always contains 0x04) | |||
|- | |||
| 9 | |||
| | |||
| | |||
|- | |||
| 10 | |||
| | |||
| | |||
|- | |||
| 11 | |||
| | |||
| | |||
|- | |||
| 12 | |||
| | |||
| | |||
|- | |||
| 13 | |||
| | |||
| Unused (always contains 0xd4) | |||
|} | |} |
Revision as of 11:48, 18 August 2012
The Victor 70C is a 4000 counts, CAT II handheld digital multimeter with USB connectivity. It is also sold as the EZA EZ-735
See Victor 70C/Info for more details (such as lsusb -vvv output) about the device.
Hardware
- Fortune Semiconductor FS9922-DMM4 multimeter chip
- NXP HEF4066BT quadruple bilateral switches
- Microchip TC7660E charge pump DC-to-DC voltage converter
- Texas Instruments 27L2C precision dual op-amp
- Unknown USB interface chip (HID)
Photos
Protocol
The device registers on the USB host as a HID-class device. The protocol payload is 14 bytes of data which can be read from endpoint 1, at no more than 1 Hz.
The 14-byte chunk is somewhat obfuscated. To deobfuscate, subtract the ASCII value of the following string from each of the 14 bytes in turn: jodenxunickxia
. Then reshuffle the bytes into different positions, according to the following table:
Original position | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
Final position | 6 | 13 | 5 | 11 | 2 | 7 | 9 | 8 | 3 | 10 | 12 | 0 | 4 | 1 |
The deobfuscated payload is then structured as follows:
Byte | Bit | Value |
---|---|---|
0 | Unused (always contains 0x50) | |
1 | Unused (always contains 0x50) | |
2 | Flags | |
0 | Minus | |
3 | Major measurement modes | |
4 | Value factors and extra measurement modes | |
5 | ||
6 | ||
7 | Decimal point position | |
8 | Unused (always contains 0x04) | |
9 | ||
10 | ||
11 | ||
12 | ||
13 | Unused (always contains 0xd4) |
Resources
- RoastLogger: Input Devices (Victor Victor 86B/86C support)
- Dave Ansell Science Communication: Victor 86C multimeter USB encoding for linux (PHP)
- victor86b-usb-interface: USB interface for Victor 86B Digital Multimeter using HIDAPI (see also here)
- Sparkfun: Victor 70C (manual, software)
- Github: victor70c (HIDAPI)
- Random review / photos