![]() |
![]() |
I present here some personal material for the HP-IL:
- the PIL-Box, a HP-IL
<-> PC link, based on modern electronic parts (no obsolete HP circuits)
- NEW: The PIL-IO
board, combining a mini HP-IL/GPIO interface and a simple HP-IL/serial link, to
experiment with HP-IL at low risk and minimum cost.
The PIL-IO board provides 4 digital input/output lines
and a serial link (UART type, logic level) to the HP-IL loop. It can be driven
by any HP-IL controller such as the HP-41C or the HP-71B.

The PIL-IO board is intended to be used by electronic
hobbysts.
I propose the PIL-IO as a component kit, upon request
I can provide it fully assembled/tested. Contact me for more information.
PIL-IO board documentation
Description of the PIL-IO board and intructions for use (pdf file – Nov.
2010)
The PIL-Box is a HP-IL/USB translator. It uses NO
OBSOLETE HP PARTS such as the HP-IL chip or the custom HP-IL pulse transformer.
It aims to be an alternative to the old ISA HP-IL board (HP82973A) and to be
compatible with most computers/OS that support USB.
July 2009: First units delivered to users!
September 2009: New batch of PIL-Box, using a mini-USB
connector and a slimer housing.
The PIL-Box firmware has been improved with new functionalities:
- 115 kbps serial speed support (useful only with the HP-71B, no noticeable
speed improvement with the HP-41C),
- the PIL-Box can now be the loop controller,
- several bug fixes, mainly when used with the HP-71B, which is a powerful
HP-IL controller but quite strict regarding HP-IL protocol compliance.
October 2009: Firmware update 1.4
This firmware update corrects a timing problem when
using the PIL-Box with a HP71B and HP-IL module version 1A. If you are in this
case, contact me for an upgrade. The fix is not need if you are using a HP41 or
HP75 as loop controller, or if you have a HP71B with HP-IL module 1B.
February 2010: New ILPer software
The new ILPer version no more requires the installation
of the MS NET Framework and is more robust, thanks to Christoph Giesselink.

The
USB PIL-Box board

The
PIL-Box parts The
board installed inside the housing,
with HP-IL cables attached
Important: the
HP-IL cable shown on the pictures above is NOT provided with the PIL-Box and
must be added by the user.
I can provide either the fully assembled/tested
PIL-Box, or a kit to be assembled (basic soldering skill needed).
For more information, contact me.
> What will be the price?
The price is around 100 Euros, depending if you want the board only, or the
fully assembled/tested PIL-Box with the housing. Contact me for more details.
> Is a component kit available?
I propose a component kit with the PCB, the programmed PIC uC and all the
passive components, and with a bare housing (non punched panels), see
documentation below. Contact me if interested.
> Will the PIC source program be released?
I’m providing the source program of the PIL-Box version 1.1, which is the
core of the HP-IL/serial converter for personal (not commercial) use. This
version which was used for the first prototypes works well with the HP-41C, but
doesn’t have the features of later versions such as fast 115 kbps speed,
loop controller capability, and may not work properly with the HP-71B.
I’m still working to include additional features in the PIL-box.
> What software will support the PIL-Box?
Emu41 includes an experimental support of the PIL-Box, but it has been found
quite unreliable. I suggest to use IL-Per (see below), it will work together
with Emu41/Emu71 by sharing the same virtual mass storage drive for
program/data exchange.
My IL-Per software (including the source files) is freely available, my wish is
that IL-Per will be the basis for people to develop applications to support the
HP-IL.
> Is a special driver needed?
The USB PIL-Box uses a FTDI chip. The drivers are available at FTDI Web site, they are free,
well supported and available for several Operating Systems.
> Is an external power supply needed?
No, there is no need of external supply for the USB version. The PIL-Box is
powered from the USB cable.
> How is the PIL-Box connected to the
HP-41C/HP-71B/HP-75C?
The HP82160 HP-IL module is needed for the HP-41C. For the HP-71B, the HP82401
HP-IL module is needed as well. For the HP-75C/D, the HP-IL is built in the
machine. One single HP-IL cable (not provided with the PIL-Box) is also needed
to make the connection to the PIL-Box; this is done by cuting the HP-IL cable
into two halves and attaching it to the PIL-Box screw connectors as indicated
on the pictures above. No soldering is needed.
> Can the PIL-Box be connected to the HP-41C (or to
the HP-71B) without the HP-IL module?
The answer is no.
> Can the PIL-Box be used to access a USB key or
other USB devices from a HP-41C or HP-71B?
No, the PIL-Box has no host capability. It can only be used as a USB device
communicating with a host (usually a PC).
> Can the PIL-Box be used to access HP-IL from a
HP50G for instance?
The PIL-Box has no host capability. It can only be used as a USB device
communicating with a host (usually a PC).
HP-IL / Serial translator
– technical description (pdf file – Oct 2008). This file
documents the basis of the PIL-Box principle.
PIL-Box firmware source
file (version 1.1, for
documentation only – Dec 2008)
PIL-Box Kit Description
of a component kit to be assembled (pdf file – UPDATED Feb. 2010)
PIL-Box Setup Notes
Connection of the HP-IL cables to the PIL-Box (pdf file – Sept 2009)
How
to solder the HP-IL cables, on Etienne Victoria’s site (alternative
to the screw connector)
ILPer is a HP-IL peripheral emulator using the
PIL-Box.
This version provides an emulation of a mass storage
unit and a dumb alphanumeric non-graphic printer. It also provides a HP-IL
scope that was very useful to test the PIL-Box and identify some tricky
problems.

The current version of ILPer is available here to
support the PIL-Box users:
ILPer
– Installation and Documentation (pdf file)
ILPer – Version
1.35.3 (zip file)
This version has been written by Christoph Giesselink
in Visual C++ based on my Visual Basic version (see below). It doesn’t
require the installation of the quite big MS NET Framework and provides several
fixes and improvements: the ILPer window can be minimized and restored without
problems, the COM port can be selected from a list of available ports, there is
a “open file” buttom to select the disc image file, and finally the
settings (COM port and speed, image file name) are saved.
My Visual Basic version is still here for
documentation:
ILPer – Version 1.35 - VB version (zip file)
I’m a quite unexperimented Windows programmer (I
prefer to program calculators or microcontrollers), so I chose Visual Basic
Express Edition (a free language) to quicky build a Windows application to
support my PIL-Box. I used the HP-IL code taken from my Emu41/Emu71 emulators,
but ported from C to VB.
Source files are included. You are welcome to improve
the ILPer software, or write completly new software to support the PIL-Box.
I didn’t document yet the details of the protocol between ILPer and the
PIL-Box, but it is very simple and can be understood by looking at the source
file MainForm.vb.
Historical note: this ILPer version is a reincarnation
of my ILPER software I wrote initially on 1986-1988 on a 6502 system to emulate
mass storage and display units for my HP-41C and HP-71B... See the ILPer VB
source files for more details...
ILCtrl is a demonstrator of a simple HP-IL controller
using the PIL-Box:

The example just above illustrates the use of the
PIL-Box with a HP3468A multimeter, a HP9114A disc drive and a HP-71B:
The trace window shows the results of the following
actions:
Read the device IDs of the 3 devices,
then put the HP-IL devices in remote mode,
then take 3 measurements from the HP3468A,
then send a "HELLO PILBOX" message to the HP3468A display,
then read the status byte of the HP9114A (no disc was inserted),
then send a "beep" command to the HP-71B (the HP-71B wakes up and
beeps!),
then send a "off" command to the HP-71B (the HP-71B turns itself
off!),
then clear all HP-IL devices (HP3468A display returns to default mode).
ILCtrl – Version
1.01 (zip file)
Source files (Visual Basic) are included. It
illustrates how easy it is to implement basic HP-IL controller capabilities on
a computer using the PIL-Box, it’s actually easier than to implement
device capability.
ILvlif is an other demonstrator of using the PIL-Box
to control a HP-IL mass storage unit.

ILvlif allows to access LIF-formatted media using the PIL-Box
and a HP9114 or HP82161(*) drive. It displays the information from sector 0 of
the tape or disc and the content of the catalog. Most LIF file types used by
the HP41, HP71, HP75, HP series 80 (HP85/87), and HP9000 (series 200/300) Basic
and Pascal workstations are recognized.
(*) the HP82161 cassette unit has not been tested.
ILvlif – Version
1.01 (zip file)
Source files (Visual Basic) are included.
http://en.wikipedia.org/wiki/HP-IL
General description of HP-IL
http://www.fortitudine.com/~coryc/html/hpil.html An overview of HP-IL
http://www.hpmuseum.org/software/swcd.htm#op Documents related to HP-IL on MoHPC's DVD, including HP-IL
specifications
http://www.hp41.org/HPIL.cfm
Extensive HP-IL documentation, including detailled HP-IL specifications
http://www.hp-collection.org/hpil.html
Collection of HP-IL devices and interfaces
http://www.hpl.hp.com/hpjournal/pdfs/IssuePDFs/hpjindex.html#1983 HP Journal issue on HP-IL (Jan. 1983)
http://www.hpmuseum.net/exhibit.php?catdoc=9 "The HP-IL System, an Introductory Guide" (1982)
If you want to have more information on my HP-IL activities, please
contact me : ![]()
J-F Garnier, 2010