Calculators that Do Something More: HP-20S, Sharp EL-5500III

Rev 1.2

 Brian Mork - 2013
© 2013 Increa Technology

Site Index  •  Wiki  • Blog

Tweet

December 2014, AV writes:

"I am very impressed with your credentials and interests. I began using my EL5500III again after about twenty years. It's amazing how much of the programming I still remember. While looking for a manual online, I luckily came upon your site. Incredible. I might even try to build your analog upload system.

I use my Sharp to program CNC machines, mostly WEDM (wire electrical discharge machining) in shops where there is an absence of CAD assistance. I never had a way to back up. I sold one of my first programs to a guy working on space shuttle parts or something for Moog back in '86 in Pinellas Park Florida. I think I got around $75.00 for it.

Anyways, Great site!"

Introduction


This page documents calculators that "Do Something More!" or are special in some way.  Currently,  HP-20S, Sharp EL-5500III, Sharp EL-5500II.


HP-20S: Installing ROM Programs into RAM


HP-20S picture The HP-20S has many functions pre-associated with key strokes on the keyboard.  There are also four programs that you can download from internal ROM memory into the calculators RAM memory.  You can view a quick documentation here on the web page, or download a ROM spreadsheet that documents the programs.  The spreadsheet is much more detailed.  The four programs allow...

In case you forget how to quickly access and use the ROM programs, you can download a ROM Cheat sheet to carry with you.


Sharp EL-5500II EL5500III: Modem


The Sharp EL-5500II and Sharp EL-5500III handheld calculators came from on era when people used the TRS-80 computers programmed in BASIC, and the HP-41 and TI-83 introduced programmability into the calculator market.

The EL-5500s combined a standard calculator on the right side of the keypad with a QWERTY-like keypad for using a BASIC interpretter programmed into the calculator.  Rather than writing cryptic pneumonic programs with a TI or HP calculator, you could program directly in the BASIC lanuage.

True to other computers of the time, programs were saved on audio cassette tape output of the EL-5500iii.  Use the BASIC command line CSAVE or "CS." for short.

The computer has no battery backup when you replace the main two batteries, so be sure to save all your BASIC programs before changing batteries.  That said, you won't be changing batteries that often.  The two CR2032 batteries last between 10 and 20 years.  Buying a pack of 10 CR2032 batteries cost me a whopping $2.19 on eBay.  I think that works out to about 75 years of operation.

el-5500iii-wiretaps

Audio output of the modem is a square wave output, with modem frequencies of 4000 Hz and 2000 Hz. Bit time is about 2 millseconds and signal is 4 volts peak-to-peak.

oscope display

With the LLIST or "LL." command, the Sharp computer will send programs out the port without modulation.  Originally, this function was designed to print onto their printer.  I suspect it's ASCII-like and for greater compatibility should be inverted to ±12 volts to match RS-232.  I have more work to do in order to document this in detail.

With LLIST there is some handshaking involved.  In order to get the EL-5500III to send data, you have to hold one of the inputs high.  That's what I was doing with the 10 Kohm resister in the picture.

Saving EL-5500 BASIC programs with MP3 backup on your desktop computer


The modulated audio waveform was meant to record data or programs on a cassette tape back in the late 1980s.  Thirty years later, it seemed appropriate to see if I could record the audio on my laptop computer and save programs as mp3 or wav files.

Below is a picture of the setup I used. The ancient laptop peeking over the top of the Macbook is not used.  It is sitting on top of my HF band amateur radio receiver.  On the left is a Fluke 97 digital scope.  Next the Macbook, then a perfboard electrical prototyping board, then the EL-5500.  Notice the audio wire from the perfboard wraps around behind the Macbook laptop and plugs into the audio port of the laptop.  The o'scope wires go behind the laptop and come out to the perfboard area.

work-station

Zooming in closer you can see the green ground wire plugged into the 3rd hole from the top.  It appears Sharp is sort of like the old U.S. Navy electronics courses.  They recognize that electricity is really made up from negatively charged electrons, so when you read documentation on this 11-pin interface, remember "GND" (pin 2) is at 5 volts and "Vcc" (pin 3) is ground.  The cassette tape audio output is on the 7th hole from the top.  I routed the audio across a 10 kohm resistor potentiometer with a center tap for a volume adjust.  The Sharp has no trouble with a 10 kohm load, and the laptop audio standard has a high input impedance so it also doesn't load the circuit.  Turns out a volume of about 1/3 scale worked fine.

10k-volume-adjust

The two wires from the potentiometer to the laptop computer needed to convert to a 1/8 phone plug.  I had an extra stereo headset wire left over.  Wow! Those wires are really small shielded cables.  The connections were so fragile I got out a glue gun and added a cardboard splint on the connection.

fragile-connection

The Macbook needed to be told to use it's audio port as an input rather than a headset output.  Use the sound option in the System Preferences app as shown below.  Your computer may not have the Soundflower entries.  Soundflower is a separate program I found that lets me route audio from any application to any other application, but it's not used to record the EL-5500 cassette audio.

set-line-in

You can use Quicktime to record the audio, but I prefer to use Audacity, which is kind of like GIMP for audio files.  I entered CSAVE into the EL-5500 and below the audio that was recorded.  The part shown is where the lead-in 4000 Hz carrier is first modulated with the 2000 Hz bit times.  I think the 2000 Hz bits have to be some sort of a start or sync-bit, but I haven't figured out yet exactly what digital encoding is used.

initial-sync

On the above picture you can see only a tiny piece of the full audio.  You can download the full audio here (160 KB mp3 1.7 MB wav).  Be ready for a long screeching lead in tone, and then a very quick burst of modulation at the end that represents the program below.  The modulated part is very short because the program is only 5 lines long.

Here is the BASIC program that was saved out the cassette audio port with the CSAVE command, so the audio file is actually a rendition of this program.  Now I need to figure out a way to play this audio file back to the calculator so I can reload programs and data onto it.

10 INPUT A
20 FOR I=A TO 0 STEP -1
30 PAUSE I
40 NEXT I
50 BEEP A

Remember, this calculator is a fully functional BASIC interpreter is running on a 1980s era handheld calculator, running on two little batteries that last for years. This makes me think of all sorts of remote automation ideas.  This could be a supervisory computer that monitor mechanical health and welfare of a remote cottage or machine or radio station or whatnot.  Because it needs no external power for at least months, it can monitor the health of other, more capable, control systems that need power and are liable to malfunction with power loss.

The problem with this calculator is that when batteries are changed, you loose all the memory on the calculator.  Now I have a way of saving programs and memory variables to my desktop in the form of audio files.  Kind of cool!

The next project is to write an "audio compiler" that can take a BASIC program from other sources and modulate it into a wav file, which can then be uploaded to the Sharp EL-5500. If you want to collaborate on making this happen, please contact me.






Additional Resources

  1. HP-20S on Wikipedia (public authors)
  2. EL-5500 on promsoft.com

Valid HTML 4.01 Transitional


The skeleton of this document was originally created using AbiWord under a Gnome desktop.  It was subsequently edited by Konquerer to become the web page you are reading.  Created March 2013. Last updated May 2013.