# HP-IL

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 Series 80 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