[comp.sys.hp48.d] HP 28 serial link

GHGALAP@cc1.kuleuven.ac.be (06/12/91)

           HOW TO ADD AN RS232-LIKE INTERFACE TO YOUR HP28.

__________________________________________________________________________



  This file contains some info on how to open your HP28, and how
to do some hardware mods to enhance its interfacing capabilities.
  The author is not responsible for any damage caused by the use
of these notes.  These notes have been assembled carefully
but it is possible that they contain some errors.
  Needless to say : opening your 28 is the most effective way
to destroy your guarantee.


I would like to thank Nic Pirmez and Bruno Ceyssens (from HP-club
Louvain La Neuve) for telling me it was possible to do some
hardware mods on the HP28 and for giving me a good book.

For those who are interested in doing more :
A good book (where all these things are described, but even more):

Voyage au centre de la HP28c/s
Paul COURBIS & Sibastien LALANDE
PARIS, Editions de la Rhgle ` Calcul
65, Bd Saint-Germain. BP 300. 75228 PARIS Cedex
ISBN : 2.90785.601.4


the book contains the following :
- Adding an external power supply (trivial : can be done yourself).
- Adding HP-71 memory card to an 28C.
- Speeding up the 28C.
- How to connect a joystick to your 28 (I think this ones is not very
  usefull, but it looks great to have a joystick on your calculator.
  Even the built-in programs like the digitiser can use the joystick).
- Lots of programs (ordinary programs and machine code).
- Lots of other ideas, too much to mention here.

I keep an open mind for other ideas like adding memory, controlling
a robot, connecting a VGA card... 8-)

Any comments and suggestions are welcome anytime.



1) How to open your HP28.
-------------------------

   The top half and the bottom half are not glued together on the sides
or so.  They are kept together by lots of little plastic pins below the
keyboard cover and the label above the LCD.
   If you do want to open the calculator bij drilling out all those pins,
it will be difficult to assemble everything again.  The only reason maybe
to do it this way is doing some hardware repairs on the keyboard.

  According to the book, the best way is to saw the top half of the box in
two : just above the keyboard, below the display (the cut will hide after-
ward below the keyboard cover).  That way you only need to remove the
pins under the label, and you can leave the keyboard as it is.

1) Remove batteries and leave the door open.

2) Remove the keyboard cover (very carefully : it can be done without
   damage) and put it away save and the label on above the LCD.

3) Use a saw (for example a tiny circle saw on a mini drill) do to the
   cutting.  Don't touch the bottom half of the box (on both sides)
   because you will destroy the rigidity of your 28.  You will have to
   finish this cutting using an ordinary cutter or so.
   Also don't saw to deep (not deeper than 2 mm or so) : below the
   keybord there is a keyboard cable to the processor card and it can
   be damaged easily.

4) Drill out the plastic pins in the battery compartiment (drilling
   only the top is sufficient).

5) Take the top part away.
   Remark : There is one pin you could not reach to drill out : it is
   located on the most left top part of the calculator : you have to
   break this one while pulling the top part off.  Don't worry, this
   works just fine.

6) You can see the CPU print that is located in the top part of the
   calculator case.
   On both sides in the inside of the case is a little plastic pin
   that holds the metal plate of the LCD (and so the entire print)
   on its place.
   To take out the print from the top part you have to slide a very
   thin knife on one side between the metal from the LCD and the
   plastic of the case, separating both far enough so that the print
   will come out.


Now you have almost everything separated and you can do all modifications
that you'd like to.
Remark : I don't think it is necessary to separate the LCD from the print
for any of the modifications that are usefull.  What's more : all that
stuff is very fragile and difficult to assemble again.



top view:



                  hidden pin _______      __  IR led
                                    |    |
                                    |    |
    ______________________________  ______________________________
   |                            | || |\__O_______________________/|
   |                            | ||o||  ______________________  ||
   |                            |_||_|| |                      | ||
   |                            |    || |    Label             | ||
   |                            |    || |______________________| ||
   |                            |    ||  ______________________  ||
   |                            |    || |                      | ||
   |                            |    || |   screen             | ||
   |                            |    || |______________________| ||
   |                            |    ||__________________________||
   |____________________________|    |/_ _ _ _ _ _ _ _ _ _ _ _ _ \|
   |                            |    |       /|\                  |
   |                            |    |        |   cut here        |
   |                            |    |        |____________       |
   |                            |    |                            |
   |                            |    |                            |
   |    left keyboard           |    |   right keyboard           |
   |                            |    |                            |
   |                            |    |                            |
   |                            |    |                            |
   |                            |    |                            |
   |                            |____|                            |
   |                            | || |                            |
   |____________________________|_||_|____________________________|



side view :


                 top half            cut here
                     |                |
                     |                |  ________________________
                     |                | / ______________   |   | \
   | ________________|________________|/ |  cpu print   |  |bat|  \ |
   |      __|   |        |     |    ____/|______________|  |___|    |
   |_____|__|___|________|_____|_______|___________________|_|_|____|
         |           |                 |                     |
         |           |                 |                     |
         |     bottom half           keyboard flatcable      |
         |                                                   |
      plastic pins___________________________________________|






Closing the HP28.
-----------------

I think putting some glue on the four borders of the part that has
been taken away should be rigid enough.
Be sure to run the SELF-TEST BEFORE closing the package.



2) Adding an interface for the 28.
----------------------------------


      _______________________
     |                       |
     |    HP28-C only !!!!   |
     |_______________________|


On the HP-28 C, there is some place left to place an IR transistor.



picture :

       ___________________place left for an IR foto transistor
      |        _
      |       | | ________  IR led
      |      _|_|_
      |      |   |
 ____________|___|_________ _ _ _
|  ||  ||   ||  ||
|  ||  ||   ||  ||
|  ||  ||   ||  ||
|
                    cpu print
|

|




  If a short-circuit is made between the two wires, you can see this
in the byte at address #....  So it is ver easy to open your 28C
(using the procedure given in these notes) and add an input for
your 28C.
  On the 28S, things are more difficult.  There is no easy to spot
place or connection to put an IR trans.
  If you want your interface to be compatible with the 28S interface
described here, the 28S interface can also be put on an 28C.



Adding an interface for 28C/S.
------------------------------


The way it works :

I use a 4 pin female connector : 2 pins serial output and
2 pins serial input.  It is mounted where the LED used to be.
It is convenient if you use a connector with an orientation.  This
way you can't put the connector in the wrong way by mistake afterwards.

The output is actually the LED : if you want to use the LED again
(for the IR printer for example), it can be plugged in
very easily.

The input consists of two connections of the keyboard matrix.  Putting
a resistor of 8 K Ohm here simulates a key.  I used a nonexistent key
below the space bar : this one is on the ***


1) Take the calculator apart as described above.  Also take the
   CPU print out.

2) Drill out the part of the case where the LED sits normally, and
   drill away the plastic bars that hold the LED on its place too.
   This way you should have place enough to install a small connector.
   I used the smallest 4 pin femail connector I could find (femail
   for savety reasons).

3) Solder the LED off the print, and connect two wires of the connector
   instead.

4) Connect the two other wires to the part of the keyboard matrix
   that you want to use.  Don't solder the wires on the keyboard
   "connector" : the flatcable won't hold like it should (this can be
   fixed however if you like this more than soldering on other parts
   of the print).
   I soldered the wires on two of those little islands ( I think they
   are used in the factory for test purpose), the islands leading to
   pin 9 and 11 of the keyboard connector.
   Be carefull : trough both holes you can see two IC's : I think they
   are fragile (I don't know for sure, but don't take to much risk)

5) Close everything and run the self-test.




print  :

      _____________________________________________________________
     |                                                             |
     |                                                             |
     |        I soldered here                                      |
     |       |                                                     |
     |       |   ____________               ____________           |
     |       |  |            |  _________  |            |          |
     |       |  |  big hole  | |         | |  big hole  |          |
     |     _/\  |            | | smd     | |            |          |
     |    / \/  |            | |  ic     | |            |          |
     |    |     |            | |_________| |            |          |
     |    |_    |____________|             |____________|          |
     |      \_                                _                    |
     |        \______________              __/ \ <---I soldered    |
     |                       \_           /  \_/     here          |
     |                         \_        /                         |
     |                           \      |                          |
     |                           11     9               1          |
     |       | | | | | | | | | | |    | | | | | | | | | |          |
     |_______|_|_|_|_|_|_|_|_|_|_|____|_|_|_|_|_|_|_|_|_|__________|





Software and hardware.
----------------------

To run everything you need the neccessary external hardware.  Since
my stuff isn't fineshed yet, I can't say much more.  Maybe I'll do
a posting in the futere.
In short : using an optocoupler provides much savety for your 28.
Connecting an optocoupler in stead of the LED, and steering an RS232
this way trough a battery of 9 V should work (when I tried, it worked
almost like it should).
Using an optocoupler and a resistor of 8 k Ohm for the keyboard input
should work too.


The software you need are two assembler routines : one for sending
a string, one for receiving.
I'm busy on these too, so ...
(maybe somebody else already has these routines)


I can't promise a future posting regarding this (exams and
summer vacation).

Enjoy the experimenting,

Joris.


+------------------------------------------------------------------------+
|     _            _                       Joris Ballet                  |
|    (_)          | |                      St-Hubertusplein 5            |
|     _    ____   | |____                  B-3500 HASSELT (BELGIUM)      |
|    | |  /    \  | /    \                                               |
|    | | |  ()  | |   ()  |    e-mail : ghgalap@blekul11                 |
|   _| |  \____/  |______/     (this e-mail address is subject to change)|
|  (___/                       (don't use after june '91 )               |
+------------------------------------------------------------------------+
|              Programmers don't byte, they just nibble a bit.           |
+------------------------------------------------------------------------+