The Simplified I/O Interface - How it Works ...
Output
The ULN2803 Integrated Circuit (IC) is a "Eight-way Line Driver". The IC takes small current at its 8 input pins (pins 1 to 8) and allows much larger current (up to one amp) to flow via its output lines.
In this application of the ULN2803 IC, small currents available at the Printer Port are used to control devices that could not be connected directly to the Port, such as motors and relays.

The simplest application of the ULN2803 is represented below. Eight lines from the Printer Port connect to the eight input lines of the ULN2803. The "ground" lines of the Printer Port (pins 18 - 25) connect to pin 9 of the ULN2803. The "negative" terminal of the battery also connects to Pin 9 of the ULN2803. Each output line connects via a Load Resistor to a Light Emitting Diode (LED). The "anodes" of all the LEDs connect to the "positive" of the battery. In this example, the battery supply is nine volts.

The load resistors limit the current flowing through the LEDs. If a 12 volt supply is used, the load resistors should be changed to 560 ohms.
The Zener diode is included to protect the ULN2803 against possible damage due to "back emf" voltage spikes that may be produced when relays and motors are used. Generally a 30 volt, 1 watt Zener diode will suffice. The Zener diode connects between Pin 10 and the positive rail.

Output Lines Schematic
The PCB below shows only the Output section of the Simplified I/O Interface.

The Simplified I/O Interface showing
Output only.
Input
Input at the Printer Port is via a 74LS244 Integrated Circuit called an "Octal tri-state Buffer/Line Driver". This IC protects the port and ensures the input is 'clean'. Only four lines of the IC are used in this circuit.
The four input lines are tied "HIGH" by 100k ohm resistors connected to the 5 volt rail. Each line has a switch connected to the negative rail. When a switched is pressed, the line is taken "LOW". A standard mini-pushbutton switch may be used.

Input Lines Schematic
The PCB below shows only the Input section of the Simplified I/O Interface.

The Simplified I/O Interface showing
Input only.