Digital Electronics: Pinout Assignments for a Parallel Port
The pins on a parallel port that you’re most interested in for your electronics projects are pins 2 through 9 — the eight data pins that are collectively called the data port.
When the data port is connected to a printer, its eight pins are capable of sending 1 byte of data at a time to the printer. When the data port is connected to a circuit of your own design, its pins operate as eight separate logic outputs, which you can use as inputs to your own logic circuits.
A parallel port also features four additional output pins called the control port, which you can also use for output.
When the control port is connected to a printer, these pins are used to control the operation of the printer. One of them, called the strobe, indicates that a new byte of data is available on the data pins; when the strobe pin goes HIGH, the printer reads a byte of data from the data pins. Another control-port pin resets the printer.
Finally, the five pins that make up the status port allow the printer to send information back to the computer.
One of the status-port pins lets the printer tell the computer that it’s ready to receive data via the data port. Another pin lets the printer know that it has finished reading data from the data port. A third pin informs the computer that the printer is out of paper. The other status pins have similar functions.
| Pin | Name | Input or Output | Description |
|---|---|---|---|
| 1 | STROBE | Output or Input | LOW when data is present on the data pins |
| 2 | D0 | Output | Data bit 0 |
| 3 | D1 | Output | Data bit 1 |
| 4 | D2 | Output | Data bit 2 |
| 5 | D3 | Output | Data bit 3 |
| 6 | D4 | Output | Data bit 4 |
| 7 | D5 | Output | Data bit 5 |
| 8 | D6 | Output | Data bit 6 |
| 9 | D7 | Output | Data bit 7 |
| 10 | ACK | Input | LOW when data has been read |
| 11 | BUSY | Input | HIGH when the printer is busy |
| 12 | PE | Input | HIGH when the printer is out of paper |
| 13 | SEL | Input | HIGH when the printer is ready |
| 14 | LINEFEED | Output or Input | Advances the printer |
| 15 | ERROR | Input | HIGH when an error condition exists |
| 16 | RESET | Output or Input | HIGH when the printer is reset |
| 17 | SELECT | Output or Input | HIGH when the printer is offline |
| 18 | GND0 | Neither | Ground connection |
| 19 | GND1 | Neither | Ground connection |
| 20 | GND2 | Neither | Ground connection |
| 21 | GND3 | Neither | Ground connection |
| 22 | GND4 | Neither | Ground connection |
| 23 | GND5 | Neither | Ground connection |
| 24 | GND6 | Neither | Ground connection |
| 25 | GND7 | Neither | Ground connection |
As I’ve already mentioned, the output pins of a parallel port use a +5 V HIGH signal to represent 1 and 0 V to represent 0. The amount of current that each pin can source is relatively small — typically, around 10–12 mA.
That current is enough to drive an LED, but for anything more demanding, you need a way to isolate the output load from the parallel port itself. To do that, you can use individual transistors or an IC designed specifically for this purpose.









