Parallel port triggering#
A PCIe device such as “StarTech.com 1 Port PCI Express” should work. USB to parallel port adapters will not, due to hardware limitations of the devices ($10 ones on Amazon are only designed for printers) and the USB protocol itself, which is not designed for low-latency control.
Instructions differ between Linux and Windows:
- Linux
 On Linux, you need
pyparallel:$ pip install pyparallel
You might also need some combination of the following:
$ sudo modprobe ppdevAdd user to lp group (
/etc/group)Run
sudo rmmod lp(otherwise lp takes exclusive control)Edit
/etc/modprobe.d/blacklist.confto add blacklistlp$ ls /dev/parport*to get the parallel port address, e.g.'/dev/parport0', and set this asTRIGGER_ADDRESSin the config.
- Windows
 If you are on a modern Windows system (i.e., 64-bit), you’ll need to:
Download the latest “binaries” archive from the InpOut32 site
Extract the files
Run the
Win32\InstallDriver.exefile (yes, even though it’s in the Win32 directory)Rename the 64-bit file
inpoutx64.dlltoinpout32.dllPlace this file in
C:\Windows\System32\Use the Device Manager (or some other method) to get the parallel port address (from Ports➡Properties➡Resources➡I/O Range), e.g.
0x378or0xCFF4, and set this asTRIGGER_ADDRESSin the config.If you have trouble, you can interactively test your parallel port using the parallel port tester application.