Using the Velleman PCS 500 digital oscilloscope under Linux

The PCS500 is a device which connects to the parallel port of a PC and allows its use as a dual-channel digital oscilloscope, a spectrum analyser, and a transient recorder. It is made by Velleman.

Of course, to have these functions you need some piece of "virtual instrumentation" software, which is provided for windows and only for windows... As usual, nothing is made for the poor Linux users... Fortunately, PC-Lab 2000 (as it is called), works very well with Wine, but the configuration is a bit tricky here as you need to allow direct access to the device on the parallel port.

If you have an old version of wine (with a ~/.wine/config file)

In your .wine/config file, you must edit the [ports] section as follows:

;; for velleman's PCS500
"read" = "0x370-0x37F"
"write" = "0x370-0x37F"

(Note: the given addresses are for a parallel port on 0x378, usualy lp0. Modify them according to the port you want to use (0x270-0x27F for a 0x278 lp1).

You can then run the PC Lab application as root using wine to use the PCS500. (You must be root, else the direct access to the adresses corresponding to your parallel port won't work.)

If you have a newer version of wine

In recent versions of wine, the config file has been removed and it seems there is no way to specify a way to access a port directly (sad, isn't it ?). However, here is a wrapper for wine which will authorize the program to access the port directly (as suggested by Kuba Ober on the wine-devel mailing-list on 2005-08-12). The advantage is that wine is no more executed as root (but this wrapper must be setuid root).

The NT driver provided with PC-Lab doesn't work with wine, so you need to use the winecfg program to indicate that you want to emulate Windows 98 and not Windows 2000.

Final notes

I have not tried, but this should work with Velleman's PCS100 (K8031) oscilloscope and PCG10 (K8016) function generator too, as they use the same piece of software. And it should work on the other operating systems on which wine runs too.

Update! (June 2007)

The use of Wine is no more mandatory! Jorge Lima created TclVI, which allows to use the PCS 500 under Linux (x86).