SUBJ: HP 28 I/O? From: grs999910117@stat.appstate.edu Date: 17 Jun 91 03:51:42 GMT Organization: Appalachian State University Message-ID: <1991Jun16.235142.879@stat.appstate.edu> Newsgroups: comp.sys.handhelds I am not the original author of this posting, but I thought it may be of enough interest to post here. The original author's name and e-mail address are listed at the bottom of the article. Incidentally, I found this in the comp.sys.hp48.d newsgroup! Kind of ironic, don't you think? William ============================================================================= 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. | +------------------------------------------------------------------------+