This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (July 2016) (Learn how and when to remove this template message) This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (January 2024) (Learn how and when to remove this template message)
An IEEE 1284 36-pin male micro ribbon printer cable connection. The computer side normally uses a DB-25 port instead of this connector

IEEE 1284, also known as the Centronics port, is a standard that defines bi-directional parallel communications between computers and other devices. It was originally developed in the 1970s by Centronics before its IEEE standardization.


An IEEE 1284 36-pin female on a circuit board

In the 1970s, Centronics developed the now-familiar printer parallel port that soon became a de facto standard. Centronics had introduced the first successful low-cost seven-wire print head[citation needed], which used a series of solenoids to pull the individual metal pins to strike a ribbon and the paper.

A dot matrix print head consists of a series of metal pins arranged in a vertical row. Each pin is attached to some sort of actuator, a solenoid in the case of Centronics, which can pull the pin forward to strike a ribbon and the paper. The entire print head is moved horizontally in order to print a line of text, striking the paper several times to produce a matrix for each character. Character sets on early printers normally used 7 by 5 "pixels" to produce 80-column text.

The complexity of printing a character as a sequence of columns of dots is managed by the printer electronics, which receives character encodings from the computer one at a time, with the bits transferred serially or in parallel.[1] As printers grew in sophistication, and the cost of memory dropped, printers began adding increasing amounts of buffer memory, initially a line or two, but then whole pages and then documents.

The original port design was send-only, allowing data to be sent from the host computer to the printer. Separate pins in the port allow status information to be sent back to the computer. This was a serious limitation as printers became "smarter" and a richer set of status codes were desired. This led to an early expansion of the system introduced by HP, the "Bitronics" implementation released in 1992. This used the status pins of the original port to form a 4-bit parallel port for sending arbitrary data back to the host.

A further modification, "Bi-Directional", used the status pins to indicate the direction of data flow on the 8-bit main data bus; by indicating there was data to send to the host on one of the pins, all eight data pins became available for use. This proved adaptable, and led to the "Enhanced Parallel Port" standard, which worked like Bi-Directional mode but greatly increased the signalling speeds to 2 MByte/s, and later the "Extended Capability Port" version increased this to 2.5 MByte/s.

In 1991 the Network Printing Alliance was formed to develop a new standard. In March 1994, the IEEE 1284 specification was released. 1284 included all of these modes, and allowed operation in any of them.


An IEEE 1284 compliant printer cable, with both DB-25 and 36-pin Centronics connectors

The IEEE 1284 standard allows for faster throughput and bidirectional data flow with a theoretical maximum throughput of 4 megabytes per second; actual throughput is around 2 megabytes/second depending on hardware. In the printer venue, this allows for faster printing and back-channel status and management. Since the new standard allowed the peripheral to send large amounts of data back to the host, devices that had previously used SCSI interfaces could be produced at a much lower cost. This included scanners, tape drives, hard disks, computer networks connected directly via parallel interface, network adapters and other devices. No longer was the consumer required to purchase an expensive SCSI card—they could simply use their built-in parallel interface.

The parallel interface has since been mostly displaced by local area network interfaces and USB 2.0.


IEEE 1284 can operate in five modes:

Most recent computers that include a parallel port can operate the port in ECP or EPP mode, or both simultaneously.

IEEE-1284 requires that bi-directional device communication is always initiated in Nibble Mode. If the host receives no reply in this mode, it will assume that the device is a legacy printer, and enter Compatibility Mode. Otherwise, the best mode that is supported on both sides of the connection is negotiated between the host and client devices by exchanging standardized Nibble Mode messages.

Connectors and cables

Mini-Centronics 36-pin male connector (top) with Micro ribbon 36-pin male Centronics connector (bottom)
Mini-Centronics 36-pin male connector (right) with Micro ribbon 36-pin male Centronics connector (left).

An IEEE-compliant cable must meet several standards of wiring and quality. Three types of connectors are defined:

There are two kinds of IEEE 1284 cables:

In IEEE 1284 Daisy Chain Specification, up to eight devices can be connected to a single parallel port.

All modes use TTL voltage logic levels, which limits the possible cable length to a few meters unless expensive special cables are used.[4]


Typical color codes

Here are the typical colors found on 25-pin IEEE 1284 cable leads.[citation needed]

Pin Color Alt Color
1 red
2 pink/red
3 brown
4 orange
5 light-blue/yellow
6 light-blue/red
7 light-blue
8 blue
9 light-blue/black green/blue
10 green
11 yellow
12 pink/orange
13 gray
14 gray/green
15 pink/blue orange/white
16 pink/black brown/white
17 light blue/blue light blue/green
18 blue-white
19 green/black green/red
20 pink/white yellow/black
21 gray/black
22 white/black gray/yellow
23 purple
24 pink
25 white
NC white/yellow white/green
All white/purple red/black

See also


  1. ^ Centronics 101, 101A, 101AL, 102A, and 306 Printers: Specifications and Interface Information
  2. ^ EP 0640229  Buxton, C.L. / Kohtz, R.A. / Zenith Data Systems Corp.: Enhanced parallel port. filing date 15 May 1992
  3. ^ LAVA Computer MFG Inc (2002). "IEEE 1284: Parallel Ports" (PDF). Archived from the original (PDF) on 15 November 2006.
  4. ^ IBM Parallel Port FAQ/Tutorial