HP-IL
{{Infobox connector
|name=HPIL (Hewlett-Packard Interface Loop)
|type=Peripheral data bus
|image=
|logo=
|caption=HP-IL connectors (on an HP-71B)
|designer=Hewlett-Packard
|design_date=1980s
|manufacturer=Hewlett-Packard
|production_date=
|superseded_by=USB
|superseded_by_date=mid-1990s
|external=yes
|hotplug=
|length=
|width=
|height=
|data_signal=Token ring
|data_bit_width=
|data_bandwidth=160 kbit/s  (limited to 16 kbit/s) 
|data_devices=31 (with extensions up to 960)
|data_style=Serial
|num_pins=2
|pinout_image=
|pinout_caption=
|pin1=
|pin1_name=
|pin2=
|pin2_name=
|pinout_notes=
}}

The HP-IL (Hewlett-Packard Interface Loop), was a short-range interconnection bus or network introduced by Hewlett-Packard in the early 1980s.  It enabled many devices such as printers, plotters, displays, storage devices (floppy disk drives and tape drives), test equipment, etc. to be connected to programmable calculators such as the HP-41C, HP-71B and HP-75C/D, the 80-series and HP-110 computers, as well as generic ISA bus based PCs.

Principles

As its name implies, an HP-IL network formed a loop (i.e. it was a Ring network): each device in the loop had a pair of two-wire connections, one designated in, which received messages from the previous device in the loop; and one designated out, which delivered messages to the next device in the loop. One device on the loop is designated the controller, and manages all other devices on the loop. HP-IL cables utilize a unique two-pin connector design with polarizing "D"-shaped shells, and can be connected together without further adapters to extend their length.

HP-IL uses a token passing protocol for media access control: messages are passed from one device to the next until they return to the originator. When the loop is initialized, the controller sends an "Auto Address 1" message to the first device; that device (and each subsequent device) takes the number in the message it receives as its own address, and then forwards the message with the address incremented to the next device. When the "Auto Address n" message finally returns to the controller, it can tell how many devices are on the loop (n-1). Up to 31 devices can be addressed using this method. Once addresses are assigned, the controller can then assign "talker" or "listener" roles to any device on the loop. By addressing each device in turn, and using the "Send Accessory ID" message, the controller can determine the role and capability of each device on the loop.

When the controller assigns listener role to a device, that device accepts and processes data received from the loop. The role of talker allows a device to originate data on the loop. Multiple devices can be assigned the role of listener at once, but the role of talker can only be assigned to a single device at a time. Data transfer between loop devices is accomplished by the controller designating a talker and one or more listeners, and then sourcing a "Send Data" message.

Most devices that were designed to be used as controllers were fixed in that role, but the HP-71B was capable of assuming either controller or device mode; and with the HP 82402 Dual HP-IL Adapter, the HP-71B could even be configured with multiple loops.

Applications

Hewlett-Packard developed a range of devices to be connected to the HP-IL, mostly peripherals such as printers and storage devices for calculators.  Through the 82169A HP-IL/HP-IB Interface, HP-IL controllers could be connected to instruments with an HP-IB (aka GPIB or IEEE-488) interface, or vice versa.  There were also plans to make test equipment with IL interfaces, but apart from the somewhat popular 3468A multimeter, only a few devices were introduced before HP-IL itself became obsolete.

In addition to the HP-IB interface, HP also sold RS-232 and general-purpose parallel I/O interfaces as well as a prototype kit to create custom interfaces.

HP Calculator Applications
Several HP calculators were offered with HP-IL interfaces.  In the HP-75C/D it was built in, in others such as the HP-71 and HP-41, plug in interface modules were available (such as the HP82160A for the HP-41).  Popular uses for the HP-IL on the calculators included printing (using the HP 82162A thermal printer) and cassette file storage (through the HP 82161A digital cassette drive).  For ease of use, the calculators supported automatic I/O address assignment ("AUTOIO"), where printer or mass storage commands are directed to the first available device of the appropriate type.  Where multiple devices per type were present, a manual ("MANIO") assignment mode could be used.

HP-IL to HP-IB interfacing

Through the 82169A interface converter, even small calculators could be used to control a number of devices on a standard HP-IB (GPIB, IEEE-488) bus, an interface in wide use for test and measurement equipment.  The converter can operate in either of two modes, Translator or Mailbox''.  Translator mode is adequate for systems where only one controller is present (typically a calculator on HP-IL), while Mailbox mode applies when there are separate controllers present on both buses.

In Translator mode with an HP-IL controller, the default addressing mode is to connect the converter as the last device in the HP-IL loop, to set its own HP-IB address higher than the number of devices on the HP-IL loop, and to set the addresses of devices to be addressed on the HP-IB side must be higher than the converter's address.  Deviating from this scheme requires manual control of addressing.

In Mailbox mode, the controllers on either side can place a message into the converter's buffer memory, for the other side to retrieve from that memory.

Equipment with HP-IL Interface

Controllers
HP 82160A HP-IL HP-41 extension module (for the HP-41C)
HP 82973A HP-IL interface for IBM PC and compatibles with ISA bus
HP 82938A Interface for Series 80 desktop computers/controllers
HP 82401A HP-IL module for HP-71B
HP-75C/D
HP 110 aka HP Portable
HP 110 Plus aka HP Portable Plus (HP 45711A)
HP 45643A HP-IL/Parallel Interface for the HP-150
HP Integral PC
HP-3392A

Interfaces
HP 82164A HP-IL/RS-232C Interface (serial port)
HP 82165A HP-IL/GPIO Interface (generic parallel port)
HP 82166A HP-IL Converter (smaller version of GPIO interface intended for embedded use)
HP 82166C HP-IL Converter Prototyping Kit
HP 82169A HP-IL/HPIB Interface (bidirectional)
HP 5061-3166 HP-IL/SCSI Interface
HP 82402 Dual HP-IL Adapter for the HP-71B

Peripherals
HP 9114A/B Disc Drives
HP 82161A Tape Drive
HP 82162A Thermal Printer (HP-IL version of HP 82143A printer for HP-41C)
HP 82163A/B Video Interface
HP 92198A 80-Column Video Interface (Mountain Computer)
HP 82168A, 92205M Acoustic Couplers (Modems)
HP 82905A/B Printers
HP 2225B ThinkJet Printer
HP 7470A Graphics Plotter (Opt. 003 HP-IL Interface)
HP 2671A/G Alphanumeric Graphics Thermal Printer

Test instruments
HP 1630A/D/G and HP1631 Logic analyzers (can be loop controller)
HP 3421A Data Acquisition/Control Unit
HP 3468A/B Digital Multimeters (HP-IL version of HP 3478A with GPIB)
HP 5384A and HP 5385A frequency counters with option 003 (HP-IL)
HP 8590A spectrum analyzer with option 022 (HP-IL)
HP 5890 Gas Chromatograph and companion Autosampler HP 7673 have an HP-IL interface option for instrument programming and data logging using the HP 19405A Sampler/Event Control Module (S/ECM) and the HP 3392A Gas Chromatograph Integrator as controller.
HP 4945A Transmission Impairment Measuring Set (Opt 103)
HP 5006A Signature Analyzer (Opt 030)

Software
HP-IL Development Module (plug-in Application ROM module for HP-41C)
HP 82183A Extended I/O Module

Third-party
FSI164A HP-IL/RS-232C Interface by Firmware Specialists
Leitz IL-41 Theodolite interface
CMT RAM Disc 128-512k RAM Disc; Optional RS-232
Ocean Scientific HP-IL A/D Interface
Direct Connect Modem 300 Plus Modem & Bar Code Reader
PAC Hardware GMBH (Germany) PAC-Screen 80-col/graphics video interface with parallel printer port and mouse port
Interloop #111 HP-IL Repeater
Interloop #130 HP-IL Twinax Terminator
Interloop #200 HP-IL Step Motor Driver
Interloop #210 HP-IL IO Interface
Steinmetz & Brown SB10161A/2A Single/Dual 5 1/4" Disc Drive
Interface Instruments ADC71A Analog to Digital Converter

See also 
 IEEE-488 (GPIB,HPIB)
 Apple Desktop Bus
 Universal Serial Bus

References

 
  The official specification.
  Describes 1LB3-0003 chip. (Later variants of this IC were the 1LR4-0002 and 1ML7-0005.)

 HP 82160A HP-IL Module Owner's Manual for the HP-41
 HP 82401A HP-IL Interface Owner's Manual for the HP-71

External links
 http://www.hpmuseum.org
 http://www.hp41.org/HPIL.cfm
 http://www.hp-collection.org/hpil.html
 http://www.jeffcalc.hp41.eu/hpil/ A homebrew HP-IL to USB bridge.
 https://www.hhcworld.com/files/compendiums/hp_il_compendium.pdf  HP-IL Compendium, Sylvain Côté, September 20, 2018

Computer buses
Serial buses
IL