HP-35S Calculator

The HP-35S was released to commemorate the 50th anniversary of the original HP-35A calculator's release. It contains some departures from previous HP calculator practice, not least being the absence of the rectangular <–> polar transformations. This made it less suitable for surveying use, but this could be overcome with suitable programming. It allowed a program to jump to a specific line number, rather than only a label, which made programming more flexible.

We have a large number of programs for the HP-35S. They are all available as PDF files. Click on the blue link to open a new window with the PDF displayed.

There are also some PDF files with general advice, links to HP training, and other useful links to things about the calculator. If you've lost your User Manual, you can download a copy from here.

(Strange as it may seem, the links are the green text!)

Closure and Related Programs

1. Closure with Area (and optional Co-ordinates) [with complex numbers]

1A. Closure with Area (and optional Co-ordinates) [no complex numbers]

1B. Closure with Area, optional co-ordinates and proportional misclosure [no complex numbers]

2A. Two Missing Distances [no complex numbers]

3A. Three-Point Horizontal Resection [no complex numbers]

3AE. Three-Point Horizontal Resection using Grads (for European Use) [no complex numbers]

4A. 2-D Co-ordinate Based Intersection Program [no complex numbers]

5A. Closure with Area, optional Co-ordinates and ability to handle curves and the areas associated with them. [no complex numbers]

6A. Crandall's Adjustment for a Closed Traverse. [no complex numbers]

7A. Traverse Closure using Latitude, Longitude and the Gauss Mid-Latitude Formulae. [no complex numbers]

Co-ordinate Systems and Related Programs

TM 1A. Convert Lat/Long to Transverse Mercator Co-ordinates (UTM, SPCS, AMG, GMA, etc.) [no complex numbers]

[This program converts ground measurements (angles and distances) to Transverse Mercator projection 'plane' measurements, so that a traverse may be computed using conventional plane methods.]

TM 2A. Convert Transverse Mercator Co-ordinates to Lat/Long (UTM, SPCS, AMG, GMA, etc.) [no complex numbers]

Lambert 1A. Convert Lat/Long to Lambert Conformal Conic Co-ordinates (SPCS, etc.) [no complex numbers]

[This program converts ground measurements (angles and distances) to Lambert Conformal Conic projection 'plane' measurements, so that a traverse may be computed using conventional plane methods.]

Lambert 2A. Convert Lambert Conformal Conic Co-ordinates (SPCS, etc.) to Latitude and Longitude [no complex numbers]

OM 1A. Convert Oblique Mercator Co-ordinates to and from Latitude and Longitude [no complex numbers]

Radiation-Related Programs (for surveying measurement radiations)

1A. Calculate a Radiation from Two Offsets [no complex numbers]

Curve-Related Programs

1A. Solve all the Parameters of a Circular Horizontal Curve, given any two Parameters [no complex numbers]

2A. Compute Values for a Parabolic Vertical Curve [no complex numbers]

Utility Programs

1. HMS+, HMS–, Enter Azimuth and Distance --> Complex Number, Get Co-ordinates out of a Complex Number [you need two of these for programs 1 and 1A (V and X), and 5A (W and X), and some other programs.]

2A. Azimuth and Distance from Co-ordinates (Inverse) [No complex numbers] Much requested!

Machine Shop Programs

These programs were developed on request for a set of specific calculations for machine-shop work. Get them here.

Mathematics Programs

1. Roots of a Quadratic Equation [includes complex numbers] This program allows you to solve any quadratic in 'standard form', giving solutions for real and complex roots.

2. Roots of Complex Numbers [includes complex numbers] This programs allows you to find the roots of any complex number, using De Moivre's formula.

Triangle Solutions

1A. Plane Triangle Solutions. This program covers all 5 cases, with a 'menu' style beginning to chose the solution to be used. Quite a large program, but only 1 label! [no complex numbers]

Geodetic Computations

1A. Convert Latitude, Longitude and Height to Geocentric X, Y, Z Co-ordinates [no complex numbers]

2A. Convert Geocentric X, Y, Z Co-ordinates to Latitude, Longitude and Height [no complex numbers]

Clos 7A. Traverse Closure using Latitude, Longitude and the Gauss Mid-Latitude Formulae. [no complex numbers]

TM 1A. Convert Lat/Long to Transverse Mercator Co-ordinates (UTM, SPCS, AMG, GMA, etc.) [no complex numbers]

TM 2A. Convert Transverse Mercator Co-ordinates to Lat/Long (UTM, SPCS, AMG, GMA, etc.) [no complex numbers]

Lambert 1A. Convert Lat/Long to Lambert Conformal Conic Co-ordinates (SPCS, etc.) [no complex numbers]

Lambert 2A. Convert Lambert Conformal Conic Co-ordinates (SPCS, etc.) to Latitude and Longitude [no complex numbers]

OM 1A. Convert Oblique Mercator Co-ordinates to and from Latitude and Longitude [no complex numbers]

Complex Numbers? Nothing's ever simple, is it? Not even numbers!

The HP-35s uses complex numbers for dealing with co-ordinates and azimuths & distances internally. In the event that dealing with complex numbers causes, well, complexity, programs that display complex numbers are also available in versions that don't display complex numbers (where that is a reasonable approach, but not solving quadratic equations). These programs are the 'A' version of each program, e.g., program Closure 1 displays complex numbers, but Closure 1A doesn't. Utility 1 (numbers 3, 4 and 5) do the conversion and so must deal with complex numbers. Seem complicated? See the document Complex Numbers, Vectors and Co-ordinates to sort this out, or be even more thoroughly confused!

Working with Memory

The HP-35s has the ability to address up to 801 storage locations beyond the basic 26 A..Z locations, the 6 statistical registers and the 4 stack locations. However, the locations must be addressed 'indirectly'. There are also some considerations to allocating and de-allocating memory, which you should be aware of if you are programming in a way that uses these indirectly addressed memory locations. See the document Programming and Working with Indirectly Addressed Memory on the HP-35s for more information about this, and some code to help with allocation and de-allocation of this memory.

Legal stuff, license, copyright, etc. for this material

Free Training! HP offers Computer-based Training, virtual classrooms, downloadable material and other good stuff to help you get the most from your calculator. Click on the links below to get to the HP calculator website. There are links there to get you around what HP have on offer. At present, the offerings for the HP-35s are limited to Usage Guides, but this may change over time. There is a basic CBT module for the HP-35s, available for both PC and Mac.

CBT Module

HP Usage Guides

Get the 27th 'Label': A Work-Around

Although the HP-35s allows you much more flexibility with labels, there is a trick to get one more program in. Write the program so that it is at the very top of program memory, i.e., press GTO . . then press R/S. This is documented in the manual.

As you can do something like XEQ Z057 and run a program starting at that line number, there isn't a lot of need for this trick, provided you can remember the starting line numbers! One approach is to have a simple 'menu' that allows the user to pick from a series of options, displayed one at a time, and upon the choice being made, jump to that line and execute. This is the approach taken with the plane triangle solution program.

Some Documents to help you Program the HP-35s

Complex Numbers, Vectors and Co-ordinates: Getting the Best from the HP-35s.

Programming and Working with Indirectly Addressed Memory on the HP-35s.

Special Item!! With the release of the the HP-35s, we have to re-think how we deal with 2-D spatial location data, because the traditional decomposition of traverse data from azimuth and distance into rectangular components is not easy to implement on this calculator. This represents a major change from the lineage that stretches back to the HP-25 of the late 1970s.

With the HP-35s, we have to think of 2-D vectors as complex numbers, as that is how the calculator works with them. Fortunately, complex numbers are far better integrated in the HP-35s than in the HP-33S. The document linked above provides an overview of the relationships between complex numbers, vectors and traverses, as well as some routines to help with basic operations of complex numbers that are not built into the calculator.

This website will be updated as I write more software for the HP-35s, and convert other programs to run on this calculator. So check this site out from time to time to see what else has been added.

Special News – Bug Reports in the HP-35s!!

A full list of known bugs in the HP-35s can be found at the location below. If you are having problems, check this list first. Note that these are all pretty off things, except COS(x) with x close to 90°, and similarly TAN(x) with x close to 90°. Special thanks to Paul Dale and the HP Museum.

http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=735