Voltcraft VC-870 Multimeter Used With UNI-T UT-D04 USB Cable

Target hardware:

Software repository location:

The issue this software solves:
Although the Voltcraft multimeter and the UNI-T USB cable are  hardware compatible (the USB cable adapter fits into the multimeter connector perfectly), the software requirements are different. Original Voltcraft USB cable, which costs tripple the UNI-T cable by the way, mimics RS232 adapter when plugged in USB host PC. The UNI-T cable uses different chip internally and behaves like a HID device. On the other hand, UNI-T multimeters use different communication protocol over the serial line than the VC870 does.

This software package is composed of two independent parts:
1. USB cable interface in the utd04-cable directory,
2. multimeter protocol decoder in the vc870-decode directory.

The USB cable interface is adapted from other work, see copyrights in the directory. Compile according to instructions in the utd04-cable/readme.2.txt file.

The multimeter protocol decoder is a perl script. Use in a pipe together with the cable interface:

./utd04-cable/utd04-cable -b9600 | ./vc870-decode/vc870-decode.pl

The above commands need to be run under root (su) because of USB access permissions required in the cable interface program.

Note that I have not tested the protocol decoder extensively, there may be bugs (particularly in range decoding).


Philips PM3310 Digital Storage Oscilloscope

I got myself an old Philips PM3310 Digital Storage Oscilloscope (DSO). The scope has a classic CRT screen, but otherwise it is a fully digital device. The scope has two channels. Analogue bandwidth of the input attenuator/amplifier is 60MHz, which is not bad at all. Sampling frequency in real-time mode, however, is only 50 Mega samples per second. Each sampling ‘run’ after a trigger stores 256 samples into a RAM. The sample RAM has capacity for 4 independent waveforms. The 50M sampling speed allows single-shot time base up to 500ns/div, and a recurrent time base up to 5ns/div (sampling of repetitive signals in equivalent time). The internal CPU switches between the modes as needed.

PM3310 Front view

PM3310 Inside view

Sampling speed of this DSO is funny in today’s terms, although in mid-80 when it was designed it must have been quite good. The DSO uses unique Philips-proprietary “Profiled Peristaltic Charge Coupled Device” (P2CCD). It allows storing of an analogue signal into a serial analogue-like shift register with the sampling speed up to 50M samples/second (125MS/sec in PM3311). After a waveform is completed the ‘register’ is sequentially read out and sampled using a normal A/D converter at a much slower rate 78kHz, and stored in a digital RAM.


There is an interesting project at http://ringwelt.de/index.php/messgeraete/16-oszilloskop/37-oszilloskop-pm3311.html. It describes a home-made USB adapter for the PM3311 oscilloscope. Captured waveforms can be sent to a PC.


Philips PM3310 Product Brief


Xilinx Vivado 2013.3 on Fedora 18: Working around a D-Bus bug

Running Xilinx Vivado 2013.3 (webpack license) on Fedora 18 may fail with the following error message:

$ vivado

****** Vivado v2013.3 (64-bit)
  **** SW Build 329390 on Wed Oct 16 18:26:55 MDT 2013
  **** IP Build 192953 on Wed Oct 16 08:44:02 MDT 2013
    ** Copyright 1986-1999, 2001-2013 Xilinx, Inc. All Rights Reserved.

INFO: [Common 17-78] Attempting to get a license: Implementation
process 17688: arguments to dbus_move_error() were incorrect, assertion "(dest) == NULL || !dbus_error_is_set ((dest))" failed in file dbus-errors.c line 282.
This is normally a bug in some application using the D-Bus library.
  D-Bus not built with -rdynamic so unable to print a backtrace
Abnormal program termination (6)
Please check '/home/jara/hdl/hs_err_pid17688.log' for details

The workaround is to make the D-Bus communication socket file /var/run/dbus/system_bus_socket unavailable when the Xilinx tools run.

Execute as root:

chmod o-rw /var/run/dbus/system_bus_socket

However, the workaround fix may interfere with system software, hence look out for potential side effects.