HP48 IR to RS232


I would like to know if someone knows the printing format code of the IR port of hp48 and if someone built an hardware (photo transistor) interface to translate this code to standart ascii code for rs232. Thank you very much.


I'm currently doing this for the HP41. I have no idea if the HP48 uses a similar IR signal.

I'll check it out.


I can dig my old schematics out, if I find them. I did this some years before, but abandoned it, because the transmission width was to small (abt 3m). The 48 uses no modulation and if you see the signal on a scope you will note, that the bits are built of very narrow pulses compared to the time between the bits. (I remember 0=pulse, 1=no pulse, just because you must detect the startbit somehow.)

To kill the noise from surrounding light you must build very steep lowpass or bandpass filters, which means, that you'll get into trouble with the damped oscillations resulting from feeding a single pulse through such a filter. That was the main reason for abandoning the project. Now, with some cheap microprocessors like the small pic series (12C508, ...) this project would be considerable again.

I don't think you'll find any ICs for amplifying such slow signals, so you'll have to build your discrete circuit. (I think, you'd be lucky to find any single IR receiver IC without the electronics for a complete TV set. If you know one, it would be nice, if you'd drop me a mail.)

I recommend that you test your circuit against other sources than light bulbs, like sunlight, light tubes, ... which have very different noise characteristics.

As I said, my circuit was completely analogue and it could be possible doing this with the help of a small microprocessor, just for suppressing the damped oscillations. Your processor should know the timing, this would be a real help. Maybe it could build a simple digital filter to enhance signal quality.

Shocked ? If you simply want to send the signal over abt 50 centimeters to 1 meter, I think there's no problem with the noise, bus as you'll know signal strengh decreases non-linear, so that it could be rather complicated to build a circuit for, let's say 6 meters.

Just my 2 cents


Hmmm, sounds just like the HP41 IR data.

It's actually quite easy to detect and read (well, easy is relative). I have a range of about 30cm with incandescent or fluorescent lighting. I'm not going for range really, because this isn't a remote control.

Decoding the signals is curently done by parttern matching becasue I havn't figured out how the pattern of pulses decodes (help would be appreciated).

Nevertheless I can detect errors, and the amount of redundancy in the signal allows be to correct most errors (missed pulse, added pulse) without ambiguity.

I've spent quite a lot of time on this recently...


I just wanted to use the thing from every point of the room. I didn't notice reflections (from walls, ...), maybe my amplifier was not that sensitive.

As I said before, this was a completely analogue circuit, an approach with a microprocessor and i.e. time-variant filtering, ... might help achieving much better results.

The use of communications technology approaches (Maximum Likelyhood, ...) maybe could achieve much better results.

My personal time is the huge problem. I simply can't experiment with such things now.

Do you use a dedicated microprocessor for pattern matching and what uP do you use?


I just use my PC, sample the signal with a rather ubiquitous input device and munch on the data with a rather simple (in concept anyway) program written in Delphi.

The whole thing can quite easily run in the background, spooling it's output to a printer or a file, or the screen if you want it to. It uses very little CPU on a moderately slow PC (233 MHz PII).

But yes, it is a rather time consuming task to get it all working.

When you play with this for a while you realise how god the human ear/eye/brain is at picking signal out of noise.


Thank you Steve for your answer. I will appreciate very much if you could send me your electronic circuit design and the related program.

Thank you very much. Best regards, Tal. email: td@chem.ch.huji.ac.il


I have all of the equipment above, and both the HP-41 (with IR printer module) and the HP-48 print to the HP IR printer. This "should" mean that the formats are the same.


Should :-)

And the brief description of the HP48 signal given in a previous post matches with my understanding of how the HP41 IR module works.

But I still can't get the damn HP48 program to read the HP41 IR module output! (Which is what started me on this direct HP41 to PC interface :-)

It's turned out to be a far more elegant solution anyway.


Well Steve, I just fired up my 41 IR module using the INPRT utility on the 48 to catch the data. Run INPRT from the 48 directory into which you will take the 41 data. You have about a 10_sec delay before timeout. Pull up your 41 data to ship, say run a PRP Alpha PROG NAME Alpha, to send a program. Set the units close together beforehand. Your 48 screen will blank out during the exercise, with only the ->> at intervals. Don't be hasty, it takes a while. Your 41 will go to 0.00, and the 48 will go to an object in stack 2 and a "0" for problems, or a "1" for a good shot in stack 1. Blow off stack 1, STO your object, or shoot it to the PC, in my case over the wire, for storage, editing or whatever. Worked great after I realized I was cutting it short. Maybe its a pesky overlooked settings prob? Hope this helps, and good luck. Charles Ratliff Phoenix, AZ


Mine does everything like you described, except the stack is left with an empty string and a 1 in the stack.

However I don't see ->> at intervals? what should I be looking for?

Maybe it is one of those damn flags :-(



Well Steve, my success was using 'NORM' mode for the print module, flags 15 clear and 16 set per man page 12, allowing numeric and alpha printing, and I believe the PRTON function always executes when you power up the 41, unless you have specifically executed a PRTOFF. Flag 21 controls execution of print ops within a PROG only, so no prob there. No special 48 flag settings were set, or even checked, on my part. Maybe I'm just lucky. So it's a null -send- if 1) you have the "" (empty string), and 2) no ->> (48 I/O annunciator), such as is always at intervals visible during a wire transfer.

When I run INPRT 'bare', there is no ->>, only the 48 busy annunciator, and then the quick timeout, and "", 1. Have you sent ALPHA or objects as opposed to empty registers, data that should be visible/interpretable by the 48?

The kicker here is that both your machines seem to run through the sequence together before terminating, so it appears something is going across, but you just can't see it. My objects just sit there on stack 2 when the 48 screen comes back. But you see no ->>. No I/O. This is a puzzlement. Note that sending across a 60 element 41 program took just in excess of 2_minutes.

Last thing, before declaring your 41 IR dead, have you sat your 48 down to prove it can talk IR with another 48? Just a shot. Chuck Ratliff Phoenix, AZ


The 41 is OK (I can receive the data on my PC)

The 48 receives something because the 48 does not stop receiving until about 10 seconds after the 41 has stopped sending (even with a 5 minute long PRP).

I have tried PRA (with "HI THERE" in the alpha), PRSTK, PRP, all with the same result.

I have no means to check the 48 as I don't know anyone else with one :-(

I'll probably figure it out one of these days. Thank goodness I can code my self out of a corner :-) I now have an alternate solution.

But it still bugs me.


Steve to test the 48 IR and circuit try this:

1) press and hold the ON key (with calc already on)

2) press and release the D key

3) release the ON key, a vertical line will appear at both sides and the center

4)press EVAL (make sure the cover is on the IR port if it is a gx)

5) IRLB will appear at the top left corner of the display. If OK appears next to that your 48 is fine.

C and the ON key will get you out of that mode. Hope that helps.


> 5) ...If OK appears next to that your 48 is fine.

I get an OK.


Possibly Related Threads...
Thread Author Replies Views Last Post
  Help: HP-41CX and IR module Marcel Samek 13 2,401 11-14-2013, 11:00 AM
Last Post: Marcel Samek
  IR printer failure Andrew Nikitin 7 1,488 11-05-2013, 11:25 AM
Last Post: Andrew Nikitin
  Hand Held Products RS232 to HP-IL aj04062 11 1,977 08-31-2013, 07:12 PM
Last Post: Paul Berger (Canada)
  Trouble dumping Pioneer ROM via IR Neil Hamilton (Ottawa) 6 1,496 06-20-2013, 08:14 AM
Last Post: Neil Hamilton (Ottawa)
  HP42S and IR printer matti 9 1,727 06-10-2013, 12:11 PM
Last Post: matti
  Does IR printing not work on your converted WP34s? Then read on... Harald 3 976 04-04-2013, 05:46 PM
Last Post: Harald
  IR Link Problem: HP48 <-> PC Waon Shinyoe (China) 1 642 03-16-2013, 03:37 AM
Last Post: Eric Smith
  WP-34s data exchange with PC over IR Marcel Samek 3 899 02-26-2013, 11:53 PM
Last Post: Marcel Samek
  WP34s IR Printing Update? Thomas Chrapkiewicz 2 746 02-24-2013, 01:53 PM
Last Post: Marcus von Cube, Germany
  [WP-34s] Updated: How to install crystal and IR diode Alexander Oestert 2 862 06-17-2012, 12:19 PM
Last Post: Geoff Quickfall

Forum Jump: