The circuit described here takes data from an IBM PC, or a compatible, parallel printer port and expands it to drive a matrix of devices. The matrix size is user definable up to a maximum size of 16 by 16 elements (256 elements), but as drawn is an 8 by 24 matrix (196 elements). Each element in the matrix can be inductive, resistive, or capacitive, with a maximum voltage of about 18 volts, and a total maximum current of 15 amps peak, or 8 amps continuous with adequate heat sinks (dissipating 80 watts maximum per driver device). Several matrix elements may be asserted simultaneously. The voltage applied across the matrix ''rails'' is controlled by a digital-to-analog converter with 4096 steps (12-bit accuracy).