HP Forums

Full Version: HP 41 serial interface
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

A friend gave me a broken HP-41CX. Fortunately, I succeed to repair it. I am very happy to have this calculator, because when I was young, it was the "dream machine", and I couldn't aford it...
Now I would like to use it to communicate with other devices with serial communications, but I can't find the HP-IL/RS-232 interface. Is it possible to build one, or to connect directly the wires of a 9 pin serial connector to some contact of the HP-41 ports ?

In order to (properly) use the HP82164 HPIL-RS232 interface with the HP41 you need both the HPIL module for the 41 (82160 I think) and either the Extended I/O ROM or the HPIL Development ROM (DevIL module). The latter ROMs are not trivial to find either.
The 82164 is not that simple inside. IIRC there's a 1LB3 HPIL chip, a programmed microcontroller, a 6551 serial chip, RS232 buffers, a little glue logic and the power supply. It would be possible to make
an equivalent, but 1LB3's are hard to find and you'd have to write the microcontroller code from scratch.
Whatever you do, don't connect a serial port to the HP41 bus directly. The voltage levels and signals are totally different. You will damage the HP41, and you certainly won't get data communications.
If you want to try I/O with an HP41 without the HPIL module then it's possible but not trivial. For input (data and programs), you can hack the 82153 wand, adding an optoisolator inside the module and feeding in data via that. There are details of one way to do that in my LIF Utilities for Linux distribution (available from, the HPCC web site).
For output, you might be able to add something to the module from an HP82143 printer. I've got a dead 82143 somewhere (broken printhead) and I really must get round to investigating it.
Another possibility is to add an interface circuit to the HP41 bus that responds to unused opcodes on the ISA line and sends/receives data via the DATA line. Rather like how the MLDL boxes respond to the 040 instruction. To do that you'd have to have a good understanding of the NUT CPU bus, and be able to write software in HP41 Mcode. Might be fun to try, though.

Hey, Tony, and Guys (Pavel, where are you?)

I know this is an old issue, but would you point refresh my (our) memory, please? Can you indicate good sources (other than the LIF utilities mentioned here) of 41's HW info? I, as many others, would like understanting it better. At the Forum Archives lies one very good explanation you posted (from Pavel Korenky's request, if I am not wrong), but I did not get success finding it (I did not try that hard, too).

I believe a collection of these explanations would give us some sort of good reference material, do you agree?


Thank you Tony for these informations.
Mmmh... seems a bit complicated for my limited knowledge.
If I understand well, the signals which came from the HP had to be electronically translated to be used as RS-232...
In some 80's calculator, like the Sharp PCs, the signals from the IO port have just to be voltage corrected (with a resistor)and then a software can translate them to ascii. I hoped it would be the same for HP-41.
Well, let'go go for a long quest for an HPIL module ...
Best regards

hi pierre,
check out for the il- module on the german ebay site. they are not so often found but generally low- priced because most of them come without docs and, most bidders do not know the full potential of that device.

in combination with the HP82164A IL-RS232 you will indeed need either the X-IO or the HP-IL DEVEL module because of the OUTP function (ready made in the X-IO or,home brewed with the DEVEL),if you want to read program code from the RS232. if you don't (only printing and some data i/o), then both x-io and hp-il dev are imho not required.

hp-il devel roms came in sets of 3 (or was it 4??)with the 82166C HP-IL interface kit. maybe, someone has some spare modules (and, even HP-IL chips!!) to share?

I seem to remember that the basic HPIL signals were just a current loop interface to a standard RS-232 style asynchronus bus (much like the MIDI musical interface). If this is so one could possibly kludge RS-232 drivers onto an HPIL module and write some (probably non-trivial) software to emulate the HPIL driver chip.

I once wrote a ML implementation of an HP-IB interface. I never completed it since the project outlived its requirement. I think (but I am not quite sure) that the HP-IL may be a type of serial implementation of the HP-IB. The HP-IB went onto become IEEE 488 and a quite famous serial implementation of IEEE 488 was the commodore 64 serial interface used for the floppy drive and the printer. It packetised the bytes in a similar manner to RS 232-C for the serial implementation.

What I do know about the HP-IB is that the command set and the protocol is relatively simple and (from memory - I am going back over 10 years here) the commands are transmitted in ASCII. The difficulty was that HP-IB was the most flaky interface I have come across and could be quite unstable.

HPIL is _logically_ a serial version of HPIB/IEEE-488. That is to say that most of the concepts (addressing, controllers/talkers/listeners, etc) are similar on both systems. That's why the
HP82169 HPIL-HPIB interface works so way -- it has to translate the data format, but the higher level ideas are the same.
The CBM serial bus is also similar to IEEE-488, but not _as similar_. It's more of a klduge as well.
One thing is certain. The CBM serial bus and HPIL are not similar at the lower levels. Yes, both are serial, and both were derived from HPIB, but... The CBM interface is a bus (all devices connected in parallel) with a clock line, data line, ATN line (similar to the ATN line on HPIB) and so on. The HPIL is a loop (each device just passes the (11 bit) characters on to the
next device in the loop. No extra lines for ATN or anything like that.
And, FWIW, HPIB is not a flakey interface when set up correctly. I've never had any problems with it when running within the specs.

> I've never had any problems with it when running within the specs.

You are probably right. We used HP-IB to control test instruments from an HP portable computer. Once it was under way it was usually OK but the bus would quite often lock up and we would have to reset all of our instruments. We never found out why.

I'm glad to hear you say HPIB works when hooked up correctly. I never used HPIB at work beyond connecting plotters to scopes and analyzers. Recently I've been collecting HPIB equipment to use with my 85 and 86. In fact, I first started looking for (barely) old (at the time) 85 equipment because my brother in law found a plotter at a sidewalk sale that had a dongle connected to it that turned out to be the HP85 HPIB interface. I'm looking forward to hours of fun with my "new" HPIB stuff.

One thing though - it's kind of funny that HPIB isn't any faster than it is considering it is parallel and the cabling is so expensive. I know part of reason is the vintage of the technology (LSTTL, which HP names as one of the foundation technologies) and the requirement to work in noisy environments. But even HP didn't make computers with interfaces that could run the bus at its design speed (if I'm reading my old HP catalogs correctly). I understand why the 85 can't run it very fast.

Two things I have collected are a couple of Fluke HPIB controllers. It will be interesting to see how fast they can run the bus. One point of interest is that these Fluke machines are based on the TI 9900 microproccesor and peripherals. I didn't get a keyboard, but all I need to do is send it characters at 1200 baud RS-232 timing with TTL levels, the keyboard connector goes straight into the little 16 pin UART that goes with the 9900.

The classic application we had was using HP Integral computers (the luggable with the orange plasma display) to control 140 Mbit data test sets to generate BER (bit error rate) tests on digital microwave radio bearers and automatically print the plots.

We would have two teams at ajacent sites with two complete sets of equipment and we would send in both directions and the receiver and RF attenuator would be connected to the computer to control the equipment and generate the plots.

The equipment list for each car was quite impresive. We had to strengthen the rear springs to handle the weight. The longest microwave radio relay route that we were resposible for was about 1,200 Km in two sections. Fun times.

Talking about computer peripherals - the most interesting HP-IB peripheral we had were the Eagle drives. They are 600M HDDs weighing - wait for it 60Kg. My baby was an HP 725 with 64M of RAM and three of these Eagle drives running Oracle. We still have it. It is in the junk pile to be sold off :-(

If I remember correctly the HP-IB was designed to be a variable speed bus depending on the conditions. I think that the maximum clocking speed was 1M.