The uCPIO-12 was made by MetraByte Coroporation, which was absorbed into the Keithley Company in the 1990s. The uCPIO-12 adapter provides 24 bits of digital I/O, organized as three ports of 8 bits. Direction is port based, so it is possible to have Ports A and B input, with Port C as output.

For those unfamiliar with digital I/O, a brief description may be in order. Digital logic works on the premise that there are two states: "LOW" and "HIGH". These can also be thought of as being "ON" and "OFF", also "TRUE" and "FALSE". For a bit on an input port to be considred "HIGH", then the voltage should be between 2.0 and 5.0V. Likewise, a logical "LOW" is any voltage between -0.5 and 0.8V for an input. The table below summarizes the input and output specifications for this adapter:

LogicMinumimMaximum
Input, logic "LOW" (volts)-0.5 V0.8 V
Input, logic "HIGH" (volts)2.0 V5.0 V
Input, load current (microA)-10 microA10 microA
Input, low current interrupt inputs (mA)----0.4 mA
Input, high current interrupt inputs (microA)---20 microA
Output, "LOW" voltage (volts)----0.45 V
Output, "HIGH" voltage (volts)2.4 V---

The heart of the uCPIO-12 adapter is the 8255-5 chip, a TTL compatible 24 bit input/output chip. Data sheets for the 8255 are widely available, just search the internet. The driver I wrote for Windows NT runs this chip in Mode 0, which means all ports are dedicated to I/O. There are two other modes, not supported in the driver, but are documented below:

  • Mode 0 - Traditional I/O, all ports are used for I/O.
  • Mode 1 - Strobed I/O, part of Port C controls data transfer.
  • Mode 2 - Bidirectional I/O on Port A, part of Port C controls data transfer.

The manual for the uCPIO-12 is no longer available from Keithley, but you can download the manual for the PIO-12, which is the ISA version of the uCPIO-12. The pinouts are the same on the DB-37 port between the uCPIO-12 and PIO-12, so I am not documenting the pinouts here as long as the PIO-12 manual is available for download. Also, if you talk nicely to the people in Keithley technical support, they will send you a zip file containing the original files that shipped with the uCPIO-12 adapter.

You can download my driver here. The archive contains a testing program, a DLL shared library, the uCPIO-12 driver, sdk files, a driver registry file, and the registry init program - regini.exe. Everything needed to use the adapter under Windows NT.

Disclaimer: If after installing the driver your computer explodes, fails to start, or does anything considered bad, I am not responsible. I have tested the driver and applications in both checked and free mode, and they work fine on my systems, but you may have a flaky system. You have been warned.


Last updated on 07/25/2004