HP48 FAQ Section 12: Appendix D: Hardware Additions

Previous Contents Next

12.1 How to Make a Serial Cable

From: Frank Vorstenbosch <prompt@xs4all.nl> Revised by: Andrew Chen

Now that you have your HP, you probably want to tap the tremendous amount of programs out there. But how do you do this? You need an HP to PC link. You can buy one, but they tend to be fairly costly. Or you can build your own. The process requires the following parts:

Required Parts:

Of the above list of parts, most are pretty easy to acquire, and you should be able to find them at your local electronics store. However, the 4 pin (i.e. male) HP connector can be a bit harder to find.

If you happen to have a broken floppy drive, hard drive, or CD-ROM audio cable lying around, look inside and see if you can find a connector there that will fit the HP48. Do not use a 0.1" connector, as this will damage the pins on your calculator.

HP Connector

The HP connector part of the cable will be the most frustrating part of the link. The reason is that you will probably not be able to find these at your local electronics store, but you should you should find everything else there. Instead, you can either find the connector at used computer stores or you can create the link yourself.

Easy Way

Because the former is much easier, I will give you some tips on where one can find the connecter. First, check your yellow pages and look under "computer". You will find a lot of stores, but look specifically for "computer repair" or "computer parts". Call these stores asking for a "CD-ROM audio cable". If the store carries these cables, go to the store and ask to see the requested cable.

What you should see is a cable with two ends, each with a 4 socket connector. One end should be spaced a bit larger than the other, and this one will not fit into the HP's pins (don't press too hard, or else you will bend the connector pins). The other side should fit like a charm. Don't be worried about that there are only 3 sockets. This is fine because the empty one is a ground. Once you have this cable, cut off the unusable end, and go to the PC connector section.

Hard Way

If are unable to find a place that carries CD-ROM audio cables, or you prefer to make your make, it is possible to build the connector yourself. What you can do is buy IC sockets from a local electronics store. You can usually find them in packs of 8 or more. These IC sockets will be bound together in a hard plastic shell, which also places at unusable intervals. Therefore, it is necessary to strip the IC sockets out of the hard plastic shell (don't worry too much about damaging them, the IC sockets are fairly durable and you have 8 of them).

Next, solder a 'fork' from thin rigid metal wires, to hold the four IC pins spaced at exactly 2 mm while you glue them together with superglue. Glue a plastic 'handle' to the four IC pins to be able to remove the connector from the HP48. You can also indicate the top side of the connector on this handle.

Note that the hole in the HP48 in which the connector should go is not symmetrical; the pins are nearer to the top of the calculator than the bottom, and you can use this to make it difficult to insert the connector the wrong way up.

With that done, you can proceed on to the PC side of the connector.

PC Connector

The PC side of the connector is much simpler than the HP side. All you have to do is make a standard serial connector with the parts you bought. However, don't do it yet because you need to solder the wires from the HP connector into the back of the serial connector first.

Making the Connections

Now that you have the two sections done, you can begin making the connections for the actual link. Starting with the HP side, put in the connector and mark the top as "UP". If you have a CD-ROM audio cable with one socket missing, make sure that the empty socket connects to pin 1:

 Connector on HP48         Connector to HP48
      ______                     ______
      |....|                     |oooo|  <-- First is
      \____/                     \____/       null
  pin 1   pin 4              pin 4   pin 1

If you made the HP connector the hard way, you have to solder the ends of the IC sockets to long pieces of wire, which will eventually connect to the serial connector on the PC side of the cable.

With these wires done, you must solder the individual wires into the proper places on the PC side. Use this table of pin connections:

HP to PC cable

HP48 | RS232-9 | RS232-25
-----+---------+----------
  1  | shield  |  shield
  2  |    2    |    3
  3  |    3    |    2
  4  |    5    |    7

You can use either a 9 or a 25 pin female sub-D socket for the PC-side of the cable:

   9-pin RS232                 25-pin RS232
  connector (F)                connector (F)

pin 5       pin 1    pin 13                     pin 1
  -------------         ---------------------------
  | o o o o o |         | o o o o o o o o o o o o |
   \ o o o o /           \ o o o o o o o o o o o /
    ---------             -----------------------
 pin 9     pin 6      pin 25                   pin 14

Use flexible 4-wire cable to connect the four contacts of your HP48 connector to the PC connector. Pin 1 of the HP48 should be connected to the metal shield of the RS232 connector. Usually it is not easy to solder this shield; first scratching the shield bare (it has some kind of coating) using a screwdriver or a file will help. If this doesn't work, simply leave pin 1 of the HP48 disconnected. Note that pins 2 and 3 of the RS232 connector must be swapped when you use a 25-pin connector.

Before connecting the completed cable to your HP48, check for short-circuits using an ohmmeter or multimeter set to ohms or "diode test". The HP48 has a built in serial loop back test that can be used to test the serial cable (see the question regarding the ON-KEY combinations).

After you are done, close the shield and connector, and put in all the screws. You should now have a HP<-->PC link, which functions on COM (serial) ports.

Using the Link

With the link finished, it is now ready to be tested. Download some programs (such as those in the Best Program List) that you wish to try. At some point you should go to http://www.columbia.edu/kermit/ to obtain the version of Kermit that suits you best.

However, if you have an alternate communications program (for example, Windows 95 comes with HyperTerminal which you can use) you can delay downloading Kermit. However, it is a highly recommended to obtain because certain programs for the HP48 use special features in Kermit (such as server mode) not available in other communications programs.

With this done, you can begin the actual transfers. Start your communications program, and set the port to COM1 (or whatever your link is plugged into). In Kermit, you would type "SET PORT COM1" and in HyperTerminal you would set the dialog box with the choice of what modem you want to use to "Direct to COM1".

Then change the speeds of the ports to 9600. In Kermit, type "SET SPEED 9600" and in Hyperterminal click on Advanced.

On the HP, go to I/O, and go to Transfer. Set the calculator to Wire, 9600 baud, and Kermit (or X-Modem, if you using it instead). Then, get ready for to receive a file. Note that X-Modem is much faster than Kermit in most situations, especially in long transfers. However, it is not available built-in on the S/SX.

On the PC start sending, and on the HP, start receiving. You should see the transfer arrow on the upper right of the screen on the HP, and it should be flashing. On the PC, you should see a progress indicator to show how much of the file has been transferred.

When the transfer is finished, check that you received what you expected. If it what you expected, your HP<-->PC link works!

HP to HP Cable

If you want to use 9600 bps communication between two HP48s, then make two HP48 connectors and simply connect the two, swapping pins two and three.

HP to HP cable

HP#1 | HP#2
-----+-----
  1  |  1
  2  |  3
  3  |  2
  4  |  4

Warranty, Disclaimer, etc...

Although the serial interface of the HP48 is protected internally, it is possible to damage the calculator when a wrong connection is made. I am not responsible for any errors in this file, or for any mistakes you may make.

From: Deborah Lynn Williams

I made an HP48 link out of four pieces of speaker wire and serial port plug. The wiring of the plug is available above. The connection to the HP plug is the difficult part.

I took 4 pieces of stranded speaker wire and cut them so that the wire and the insulation were even. I then took a paper clip and pushed it into the this open end, making a space between the wire and the insulation. I then had to trim some of the strands that were sticking out. I then just pushed this onto the pins in the HP48 port. It isn't a very strong connection, but it works fine if you don't jostle it.

The other ends of these speaker wires I connected to the serial plug. Just remember to label which wires go to which pin, or make them all different lengths.

From: John Cutter

Another cheap source for cables is the common serial mouse for PC-compatibles. I had a cheap one on which the button gave out after 2 weeks of use, so I opened it up. It had a serial 9 pin cable that disappeared into the mouse. Once open, there was a 4 pin 2 mm connector plugged into the mouse's circuit board. All I had to do was reverse two pins inside the connector, and it's been working fine since. I also noticed that Logitech mice have 6 pin 2 mm connectors, which could also be adapted. No soldering or crimping here!

12.2 Using a modem with the HP48

From: Diego Berge

My purpose here is to explain in some detail the steps you need to follow to be able to transmit data via modem with the HP48. Another related document is http://www.freeweb.org/freeweb/enrico/hp2modem.htm by Enrico Carta.

In order to successfully connect your HP48 calculator to a modem, the first thing you need is a 'Null Modem Cable'. A null modem cable is like a regular serial cable, except that two of its lines are crossed.

You might wonder: So why is it different connecting to a PC than connecting to a modem? Well, data communication devices can be classified in two groups: Devices which GENERATE or RECEIVE information, and devices which merely TRANSMIT information. The former are called Data Terminal Equipment (DTE), PCs are an example of DTE; the later is called Data Communication Equipment (DCE), and are primarily modems. Now, when PCs were designed, it seems like they didn't think somebody would ever want to hook two DTEs directly, as a result, in a typical PC all we have (besides the parallel printer port) is an RS-232 port, which is intended for connecting a DCE. So when a machine wants to connect to a PC, its port must be that of a DCE, even if it otherwise acts as a DTE. Within that class of hybrids fall HP48s, Psions, some (or most?) serial printers, mice, and a long etcetera.

Remember, the RS-232 communication scheme is:

DTE <--- DCE === DCE ---> DTE

If you want to link two DTE together, you must 'simulate' a DCE; that's what a Null Modem Cable is for. It's called 'Null' because it (the modem) does not actually exist, and 'Modem' because it acts like if there was one. To build a Null Modem Cable for the 48, assuming that you already have a regular cable, you'll need two MALE RS-232C connectors, at least one of which must be a DB-9 (9-pin), and a short piece of mouse cable or similar (some 3 inches should do) (If you don't have a regular cable, I recommend that you get one). The wiring must be as shown here:

         CONNECTOR 'A'                             CONNECTOR 'B'
                                          pin#:      3   2   7     (DB-25)
pin#:      2   3   5                      pin#:      2   3   5     (DB-9)
name:     TX  RX  GND                     name:     TX  RX  GND
           |   |   |                                 |   |   |
           |   |   |                                 |   |   |
           |   |   +---------------------------------|---|---+
           |   |                                     |   |     ( <<< and
           |   +------------------>>>----------------+   |      >>> show
           |                                             |  direction of
           +----------------------<<<--------------------+          data )

The pin number should be embossed near the pin itself in the connector.

Once the physical part is done, which in most cases will be the most critical, you're ready to try out your brand-new, state-of-the-art, $2.25 null modem cable. Plug it between your regular HP48 cable and your modem, turn the modem on (please don't forget this part :), and on the 48 type in:

[RightShift]+[""] [alpha] [alpha] AT [ENTER]
13 [LeftShift]+[CHARS] [CHR] [+]

In stack level 1 you should have (# is a little black square):

1: "AT#"

Now type:

[LeftShift]+[I/O] [NXT] [SERIAL] [XMIT] [BUFLEN] [DROP] [SRECV]

you should get:

2: "AT###OK##"
1: 1

If this test goes wrong, try two or three more times. If it still fails, check your cable(s), check that the 48 can transmit and receive to/from the PC, do the same with your modem. And when everything else has failed anyway, connect your modem to the PC, crank up a terminal program (as Terminal / Hyperterminal, or Kermit's 'Connect' command), and type:

AT&D0 [ENTER]

the modem should respond:

OK

This tells the modem to ignore the DTR signal from the host, which the 48 can't supply. Try again with the calculator, if it works, go back to the terminal and type:

AT&W0&Y0 [ENTER]

to save the current modem configuration as default. If it has not worked so far, I can't help you.

Assuming you've got it to work, now all you have to do is learn a few modem commands to dial and, possibily, hang up. In general, modem commands start with the two-character sequence 'AT' (no quotes) and end with a single <CR> character (dec 13), <LF> is optional.

To dial a number use:

ATDT12345<CR>

where 12345 should be replaced by the actual number. For example:

[RightShift]+[""] [alpha] [alpha] ATDT0800890011 [ENTER]
13 [LeftShift]+[CHARS] [CHR] [+] [LeftShift]+[I/O] [NXT] [SERIAL] [XMIT]

dials the AT&T Direct access number for the UK.

If your line is not connected to a digital switchboard, you may need to dial by pulses, then you should use instead:

ATDP12345<CR>

Next thing you'll probably ask is: 'How do I know that I'm connected?'

If the modem has successfully established a connection, it should respond in most cases with a message like:

CONNECT 9600/V34/LAPM/V42BIS/9600:TX/9600:RX

or simply "1" if its not in the default verbose mode. Also, if the modem has a 'CD' indicator, it'll usually light up. To find out via the calculator whether it's connected or a problem has occurred, use the following keystrokes:

( [LeftShift]+[I/O] [NXT] [SERIAL] )
[BUFLEN] [DROP] [SRECV]

repeatedly until a non-empty string appears in level 2. Some common messages are:

verbose:         non-verbose:

CONNECT                    1
NO CARRIER                 3
ERROR                      4
NO DIALTONE                6
BUSY                       7
NO ANSWER                  8
DELAYED                   24

Once you get the CONNECT message, you're ready to send any data you want to the remote host as you'd usually do. I personally use Kermit this way when I'm not in the office or at home.

Finally, when you're done you'll want to hang up the line. The simplest way is turn the modem off, which I recommend. But if you want to instruct the modem to hang up, the process usually is:

(wait at least 1 sec without sending any data)

[RightShift]+[""] [alpha] [alpha] +++ [ENTER]
[LeftShift]+[I/O] [NXT] [SERIAL] [XMIT]

(wait at least 1 sec without sending any data)

[RightShift]+[""] [alpha] [alpha] ATH [ENTER]
13 [LeftShift]+[CHARS] [CHR] [+] [LeftShift]+[I/O] [NXT] [SERIAL] [XMIT]

Note, however, that this, as most of what I have said here about modem commands, might vary depending on each modem's particular brand, model and configuration. You may need to read your modem's manual for more details.

Disclaimer: As you'd expect, I take no responsibility for anything you may break, twist, cut, slice, burn, hurt, or otherwise damage while following these instructions.

12.3 Additional Information on the HP48 and RS-232

From: John Meyers

You can't connect the HP48 to anything else until you have first plugged in its cable, which finally brings the HP48's serial connections out to a DB9 connector. At that point, the HP48, including its attached cable, is clearly configured as DCE (the same as a modem), so you need a "crossover" (such as a "null-modem adapter") to connect the HP48 to a modem.

12.4 Using Non-HP RAM Cards

If you use RAM cards that are NOT designed for the HP48, it is possible to severely damage your HP48. If you want to be safe, you should only use RAM cards designed for the HP48.

Here is an edited discussion from comp.sys.handhelds.

From steveh@hpcvra.cv.hp.com Fri Mar  1 17:00:00 1991
From: steveh@hpcvra.cv.hp.com (Steve Harper)
Date: Thu, 10 May 1990 22:46:09 GMT
Subject: RE: HP48 SX Memory Card Pricing
Organization: Hewlett-Packard Co., Corvallis, OR, USA

There has been a substantial amount of comment regarding the memory cards for the HP48 SX and their prices. My purpose in this response is not to attempt to justify any particular price, but rather to present the technical reasons why there is a substantial price difference between the memory cards and other types of expansion memory for PC's, for example, with which users are probably more familiar.

Some users have correctly pointed out that the memory in the cards is static RAM rather than dynamic RAM commonly used in PC's. Dynamic RAM uses one transistor and a capacitor for each bit of memory whereas static RAM requires either four transistors and two resistors, or six transistors. The net result is that an equivalent amount of static RAM is much larger and therefore much more expensive than dynamic RAM. The advantage is that static RAM doesn't need to continually be running and drawing current (refresh cycles) to retain the contents of memory.

In addition, the static memory used in the cards is not just any static memory, but is specially processed and/or selected for very low standby current. This allows the backup battery in the card to keep memory alive for a very long time, rather than requiring the user to replace it every few months. The special processing and/or special testing to select low current parts adds to the already higher cost of the static RAM chips.

The standard molded plastic DIP package used for most integrated circuits, including memory chips, is relatively inexpensive because of its simplicity and the huge volumes. Unfortunately, these packages are too large to put into a memory card. Therefore, the card manufacturer mounts the individual silicon memory chips directly on a special thin PC board together with the memory support chips. Because multiple chips are being placed in a single hybrid package in a special process which has lower volume, yields are lower and this again causes the cost to be higher. Indeed, the yield becomes exponentially worse as the number of chips and interconnections increases in such a packaging process.

In addition to the memory chips themselves, two more integrated circuits and several discrete components are required for power and logic control. A bipolar technology chip senses the external voltage and switches the power to the chips from the internal keep-alive battery as needed. A CMOS gate array chip protects the memory address and data lines from glitches/ESD when the card is not plugged in. This chip also generates the proper enabling signals when there are multiple memory chips in the card, as is presently the case with the 128 Kbyte RAM card. These chips must be designed for extremely low current, just as the memory chips are.

In addition to the battery and the battery holder, the other mechanical parts are important, too. The molded plastic frame holds the PC board and provides the foundation for the metal overlays and the shutter-and-springs assembly which protects the contacts from ESD and from contaminants. The write-protect switch is also an important feature. It is quite expensive for the manufacturer to make the tools necessary to fabricate each of these parts as well as the tools to assemble and test the complete card. While the volume of memory cards is relatively low this tooling cost represents a significant part of the cost of each card.

Admittedly, there are other alternatives, such as those presently used in PC's, to provide a memory expansion capability. To provide that kind of expansion would require the calculator to be much larger than it is and possibly more expensive. This is clearly very undesirable.

Other features that were felt to be essential were the ability to distribute software applications and to share and archive/backup user-created programs and data. Other expansion alternatives do not provide these important benefits. The I/O capabilities of the calculator provide these features only to a limited degree.

One other item bears repeating here: Memory cards for use in the calculator will clearly indicate that they are for use with the HP48 SX. Other memory cards exist which are mechanically compatible with the HP48 S, but these cards cannot be relied upon to work electrically in the calculator. The HP48 SX cards are designed for a lower supply voltage range. Use of the other cards may cause memory loss, and under certain circumstances may even damage your calculator electrically.

From steveh@hpcvra.cv.hp.com Fri Mar  1 17:00:00 1991
From: steveh@hpcvra.cv.hp.com (Steve Harper)
Date: Fri, 11 May 1990 16:52:07 GMT
Subject: Re: Memory Card: Give Us True Facts!
Organization: Hewlett-Packard Co., Corvallis, OR, USA

My previous statement that under certain circumstances the calculator may even be damaged electrically is not a ploy. If the calculator's internal power supply voltage happens to be near the low end of the range, say 4.1 V, and the voltage at which the card's voltage control chip shuts it down happens to be near the high end of its range, say 4.2 V (this can and does occasionally occur for the non-HP48 SX cards), then the calculator will start to drive the memory address lines and the card will still have these clamped to ground (that's what it does to protect itself when there is not sufficient system voltage to run). This unfortunate situation may simply trash your memory, or if the calculator tries to drive enough of the lines high at the same time, several hundred milliamps may flow...for awhile that is, until something gives up... On the other hand, your calculator and a particular non-HP48 SX card may work just fine if those voltages happen to be at the other end of their ranges. These voltages are also slightly temperature sensitive. It may work in the classroom or office and not at the beach, or vice versa. The voltage trip point of the HP48 SX cards has been set lower (a different voltage control chip) so that this cannot occur, regardless of part and temperature variations.

One other item was brought to my attention yesterday by Preston Brown that I should have included in my original posting here. While most of us recognize that comparing RAM cards to a handful of dynamic RAM chips to plug into your PC is apples and oranges, it may be more interesting to compare the HP48 SX cards with cards for other products, like the Atari Portfolio, the Poquet, the NEC Ultralite, etc. I believe you will find that the prices on the HP48 SX cards are not at all out of line.

Steve "I claim all disclaimers..."

From prestonb@hpcvra.cv.hp.com Fri Mar  1 17:00:00 1991
From: prestonb@hpcvra.cv.hp.com (Preston Brown)
Date: Thu, 17 May 1990 17:26:53 GMT
Subject: Re: Memory Card: Give Us True Facts!
Organization: Hewlett-Packard Co., Corvallis, OR, USA

When the RAM cards detect that voltage is to low to operate they clamp the address lines to ground. This clamping is done by turning on the output drivers of a custom chip included on the card. The clamping current is specified to be 2mA min at the Vol output level. Since the 48 can be trying to drive the line all the way high even more current is typical. 10mA per fight is not uncommon with totals of several hundred mAs.

The VDD power supply is regulated at 4.1 - 4.9 with typical parts at the low end (4.3). The power to the cards is switched through a transistor, creating up to a 0.1V drop. Standard Epson cards have a significant chance of seeing this voltage as to low and shutting down. We have seen cards do this in the lab. When it occurs the calculator locks up with VDD pulled down to about 2.5V and 250mA being drawn from the batteries. This current drain greatly exceeds the ratings for the power supply and can damage your calc. The least that will happen is a loss of memory.

Now, why didn't we regulate VDD higher? The 48 has two power supplies VDD at 4.3 and VH at 8.5. VH cannot be regulated higher without exceeding the spec for our CMOS IC process. VH is used as the + voltage for the I/O. In order to meet a +3V output level VH must be more then 3.6V above VDD. (VDD is used as I/O ground). Our power supply system increase the battery life and reduces the cost greatly for the wired I/O.

Preston

12.5 Where can one obtain third party RAM cards?

If you decide you want to look into the non-mainstream alternatives for RAM cards, you might like to check the following URLs:


Previous Contents Next

Part of the HP Calculator Archive - http://www.hpcalc.org/