[comp.sys.handhelds] HP48 Serial leads

ard@pva.bris.ac.uk (Tony Duell) (08/25/90)

Like several other people I regard $35 (which was quoted by my local dealer
as #85!) (# is English Pound, roughly #1.00=$1.60), for a simple serial cable
as excessive!. So, here are my attempts at making a cable:

1) My first try used some individual socket pins that I found in the Lab here.
I soldered them to different coloured wires, covered them in heat-shrink 
sleeving and linked the other ends to pins 1 (Prot. Ground), 2 (Tx Data), 
3 (Rx Data) and 7 (Signal Ground) of a 25 pin D connector. I then pushed the 
pins onto the plug on the back of my HP48 and it worked rather well. 
Unfortunately, remembering which pin went where quickly became a right pain, 
and so I looked for a more convenient solution.

2) I have found a source of 2mm spacing connectors:

Harwin PLC, Fitzherbert Road, Farlington, Portsmouth, Hants, PO6 1RT England

(they don't appear to have a U.S.A. address), and the most suitable is :
M80-8980405, avaliable in quantities of 25 for #20.00 + 15% Tax + Shipping.
However, the pins are too small to fit over the HP48 plug, so you have to drill
them out as follows

-------
      =======  <----- Drill down here at 0.7mm (be careful - such drills 
-------                                         break easily)

Harwin pin   -> Contact end

And then crimp the drilled out end round the shank of a 0.6mm drill bit with
pliers. Carefully check that the pin fits onto the connector on the 48 and
crimp a bit more if it doesn't. (Warning! It is easy to drop a pin into the
48 and it is then _very_ difficult to get it out again. I cannot be responsible
for damage caused to your calculator by following this procedure)

You should be able to get such small drills from a good model shop. Then, solder
the pins to the end of a piece of 4-core cable, insert them into the Harwin
socket housing, and connect the other end of the cable to the 25 pin D-plug

Because of the difficulty of drilling out and crimping the pins, I came to
method 3

3) A local company:

Maplin Electronic PLC, PO Box 3, Rayleigh, Essex, SS6 8LR England

who say they can ship to anywhere, but with #8.00 handling on orders up to
#80.00 can supply 21 pin connector under the following order code:

FM01B (7-way socket bloc)       for   #1.98

This socket is designed for use in Radio Controlled models and has 21 pins
on a 3*7 matrix. The '7-direction' has 3mm spacing, and the '3-direction'
has 2mm spacing. So, cut the connector into 7 rows, each of 3 pins, and then
take a piece of 0.1" stripboard (we call it 'Veroboard' over here in England,
and Maplin can supply a suitable piece which will make many connectors under 
the code:
JP46A (Strip Board 1029)    for #0.42
)
Cut a piece with 3 strips and solder one row of the connector to the
edge of it like this

------------!
============+-!---!
============+-!   !
============+-!---!
------------!
Strip Board   Connector
            ^
        Solder here

Solder a piece of 3-core cable to the copper strips and then connect the other
end to a 25 pin D-plug. The connector only fits onto 3 of the pins - miss out
prot ground (the far left pin looking at the rear of the calculator), but it
works.

The connections to the HP48 are as shown here (looking into the machine):

o  o  o  o
P  T  R  S
r  x  x  i
o        g
t  D  D
   a  a  G
G  t  t  r
r  a  a  o
o        u
u        n
n        d
d

Now, all those methods require a physical connection to the HP48. The connector
on the machine is fragile, and very difficult to replace, so, I invented 
method 4

4) IR transmission. HP have provided the HP48SX with a bi-directional Infra-red
data link. The format of the printer port has been discussed on 
Comp.Sys.Handhelds before, but when it is used from kermit, a different format
is used:

The data is sent as 8-bit words, least significant bit first, with no error
checking other than the optional parity bit ( just like the RS232 port). 
A 1 (mark) - the idle state is sent as a 416 uS pause
A 0 (space) is sent as a 208uS pause followed by a 208uS IR signal
Thus, the IR link works at 2400 baud irrespective of the baud setting on the
IO setup menu.

So: (where -- = 208 uS),
           --  --  --  --  --  --  --      --
@   =   --   --  --  --  --  --  --  ------  --------
        !    !  0   0   0   0!  0   0   1   0!
        Start      0                4      
         Bit       ---------+--------
                    40 Hex = ASCII code for @

I have designed and built a decoder and Transmitter/Receiver from RS232 to
the IR port. It has a range of about 2" (i.e. you must put the calculator
directly in front of it, but it is reliable - I downloaded Tetris from the
lab's PC with no retries). I am willing to distribute the circuit to anyone
who is interested - it uses 7 TTL (74LSxx) ic's and some RS232 buffers 
(either 2 chips if you don't mind using +/- 12V supplies as well as +5 or
1 (rather expensive (#4.95)) chip if you require +5V operation), but I can't
post it on the net. If anyone has any ideas on how I should get to them, please
get in touch with me. Otherwise, I am willing to s-mail copies to anyone who
is interested who sends me an addressed envelope and sufficient IRC's (I
think it's 2 for air-mail) to get it to them. 

So, there you have it, my experiences of linking the HP48 up to a PC.

--
Tony Duell, Particle Physics, H.H. Wills Physics Laboratory, University of
Bristol, Tyndall Avenue, Bristol, England

E-mail
Janet: ARD@UK.AC.BRIS.PVA (may change _very_ soon)
Internet: ARD@PVA.BRIS.AC.UK

(These addresses may change very soon. Please reply to the net if it is of 
general interest.)