SwissMicros DM15 Scientific Calculator

Updated 25th August 2017

SwissMicros DM15 scientific calculator

SwissMicros DM15 Scientific Calculator with my 1974 hp35


Use the browser "back control" to return here.


I purchased my DM15 and DM15L scientific calculators from SwissMicros. The DM15 is a credit card size scientific calculator in a titanium shell. The DM15L has real keys and is a similar size to the original hp15C. Titanium features in this design also. Other models include the DM41, DM16, DM12 and DM11 which all emulate corresponding hp versions.

I am a long-time user of my hp35 scientific calculator from 1974. I still use it most days on my desk. I replaced the original expired batteries with a suitable NiCd pack, intended for older cellphones. It is held in place with some strips of stiff foam rubber. Contacts were added and taped underneath.

I also have a hp65, a hp32S and a hp42s which all work. I have a hp21 and a hp29C which are non-functioning. There is also a hp9100 desktop scientific calculator from 1968 which still mostly works. My current favourite is the DM15L.

The DM15 Scientific calculator emulates the popular hp15C Scientific calculator. This hp15C was first released in 1982 and discontinued in 1989. In 2011 it was released again as the hp15C Limited Edition, which ran at a speed about 100 times faster than the original.

SwissMicros DM15 Scientific Calculator

The DM15 calculator is about the same size as a credit card. It measures 88.5 x 59.0 mm horizontally and is about 8.3 mm thick. The back case is made from anodised titanium. I added 4 very thin felt pads to the bottom to prevent the calculator moving around on my desk. I purchase a separate black leather pouch, DM-LPBLK, to hold the calculator when not in use. There is also a leather flip pouch available.

There is a mini-USB port to provide communication with computers so that programs can be downloaded or uploaded. This last feature also allows the firmware to be updated. A benefit of the latest firmware updates, for some users, is that the keyboard is more reliable. The keys are metal dome switches activated by a membrane overlay. The feel is quite good and the switching is now reliable.

A real-time clock has also been added with firmware version-21. Use [ON]+[A] to activate. With the calculator off, press [A], then [ON] and then release [A]. Turn the calculator off to cancel. The realtime clock will also time-out after 5 minutes, as the calculator switches off.

Four screws at the back allow the anodised titanium case to be removed. They are made from titanium. If one drops on the floor, it will not be attracted to a magnet. Use a shallow tray or a cloth underneath so that no screws are lost. Do not tighten them too hard, particularly with the DM15. In the DM15 the tin-plated copper threaded-collar is soldered directly to the printed circuit.

The back removal is necessary if the CR2032 lithium battery is to be replaced. Note the battery orientation and use a wooden toothpick to push the battery out of the holder. Quickly replace it with a new battery to avoid losing saved programs.

This calculator is a quality product where a great deal of care has been taken in its production and the choice of materials.

SwissMicros DM15L Scientific Calculator

The SwissMicros DM15L Scientific Calculator is a pocket-sized scientific calculator. A leather pouch is included. The DM15L is functionally the same as the DM15, and it runs the same firmware. The DM15L measures 129.0 x 79.0 mm horizontally. The DM15L is about 13.8 mm thick at the top edge and about 11.6 mm thick at the side near the bottom edge. At the bottom edge it is 10.0 mm thick, and 11.3 mm thick if the Enter key is included. Four rubber feet add about 0.6 mm to the overall thickness. There is a mini-USB port at the front edge which allows programs to be uploaded or downloaded along with firmware updates. Four titanium screws at the back allow the anodised titanium cover to be removed for battery replacement. The metal display surround is brushed titanium.

The display is similar to the DM15 and is easy to read. There are useful indicators for the various modes and the function keys. A dot at the top left of the display shows any operations that are pending such as STO, RCL, GTO, GSB, Matrix, Result. This is very useful, particularly for Storage and Matrix operations.

The DM15L has real keys with metal dome switches. The keyboard has a nice feel, and it too has benefitted from the recent firmware updates, since the switching is now more reliable. The keyboard is made as a one piece plastic part. Each key is held to the main frame by two flexible plastic bars attached at the bottom edge of the key. These flex a little as a key is pressed, allowing a nub under the top edge of the key to press down on a dome switch below. The ENTER key is best pressed in the middle or near the top for this reason.

All keyboard lettering is printed using a UV cured paint. The f key functions are printed on a separate adhered overlay made from aluminium, perhaps coated with black-nickel electroplating. Black nickel is an alloy of nickel, zinc and nickel sulphide. The evidence for this, using my X-ray Spectrometer, is that there is a definite aluminium signal with a reduced count rate indicating that it is (obviously) coated. The presence of a small nickel signal suggests that it might be electroplated with a thin black-nickel coating. There is a sulphur signal observed from nickel sulphide produced in the secondary treatment. There is also a smaller zinc signal observed as well. The non-conductivity suggests the use of a clear coat to perhaps protect the applied lettering or to darken and to protect the black-nickel coating. The X-ray count rates observed are reduced by this layer and some Compton Scattering occurs as a consequence. All these features are seen in the X-ray spectrum.

The materials used in this calculator suggest a great deal of care has been taken to produce a quality product.

SwissMicros DM15L scientific calculator

SwissMicros DM15L Scientific Calculator


Traditionally programs were keyed directly into a calculator. In many calculators the program contents are preserved by using CMOS integrated circuits. These devices require almost no power to retain the program semi-permanently in memory. This way of retaining programs can sometimes cause problems. It is no fun to spend hours programming a calculator only to have the contents disappear when the battery is changed. As long as the battery is replaced within about 20 seconds existing programs should not be lost. Connecting the calculator to a USB port during the battery change may also help. There is always the risk that the program contents will be lost if, for example, the new battery is dropped on the floor.

hp15C Simulator by Torsten Manz

A better solution is to pair the DM15 and DM15L calculators with a computer based hp15C Simulator written by Torsten Manz. The Simulator runs on PC Windows, Linux and Mac OSX. This program runs a realistic simulation of the hp15C calculator with many additional features including program data exchange with the DM15 calculators. In addition full program documentation can be added, saved with a program and also as a separate HTML file. The Simulator itself is also well documented. Here in New Zealand, with my current ISP - Actrix, this link is not working. Other ISPs are fine. The latest beta versions with Matrix Functions are available here: Beta hp15c Simulator versions.

One convenience is that you can paste numbers directly into the display using control or command v. Numbers can be copied from the display, in the same way, by clicking on the display and using control or command s. Direct computer keyboard mapping of hp15c keys allows for rapid data entry and correction during entry.

This is now my standard way of programming these calculators. I write and document the programs in the Simulator and then I transfer the program to the DM15 or DM15L calculator. The Simulator documentation explains how. I have the process working for both Linux and Mac OSX. For Puppy Precise Linux 5.6 all I had to do was copy ttyUSB0 from /dev/usb to /dev. Creating a link in /dev to /dev/usb/ttyUSB0 would have done the same thing. For the Mac, nothing needs to be done once the Mac is set up for firmware updates. Just follow the instructions in the Simulator documentation.

I have found that communication is a little more reliable if an independently powered USB hub is used. If the link does not work then a computer restart or a calculator reset may also help. Do not leave unterminated USB cables plugged into other ports.

Here is a short 7-step program which calculates the sum of integers up to n. The layout of the program listing and the documentation are all handled by the Simulator.

Little Gauss Documentation

Little Gauss formula

The calculators and the simulator can accommodate longer programs than the original hp15C because of the greater available memory. The programming instructions are the same as the original hp15C. It is therefore useful to join several small programs into one larger program for immediate use. Full documentation can be added to the program listing.

The program listing can be set to occupy three columns or only one. The single column format can be used during program development. On a printout there is plenty of space for written notes, or proposed changes, on the right. Of course each sub-program can be written as a separate program with a more convenient initial label such as A or B.

Example programs

For my larger programs I sometimes print a quick reference on a small card. The quick reference card, an essential part of the documentation, is kept with the calculator. Composite, an example 609 step program, consists of 12 sub-programs. Each sub-program starts with a unique label. Extensive documentation includes detailed instructions and the start and end line numbers of each sub-program. A recent change allows a system of up to 8 linear equations to be solved.

Rather than typing in 609 program steps, I used Smultron, a Mac text editor, to assemble the program from a range of smaller programs. Much of this was done by copying and pasting the *.15c text files, in sequence, into a blank page. The individual program documentation was either removed or collated at the top. The messed-up line numbering was ignored by the Simulator. The line numbering was re-ordered when the new Composite program was saved. The program labels and key-codes were changed to make them unique. Lastly the documentation was edited using the Simulator. In this case I used all the labels, so any further additions will involve program re-writes. My Composite program is well used, as some common routines used in science, finance, electronics, mathematics and cycling are there.

Alternatively, the program can be split up into topics. One program would comprise all the general utilities. The other program would collect all the mathematical routines like Maths1, which initially took about 30 minutes to create and test. Refining the program and the documentation took somewhat longer.

Maths1 Quick Reference

Maths1 Quick Reference

A smaller program, StraylightP, solves a problem with curvature in absorption spectrometry. The curvature of the calibration is due to stray light or some other other steady background signal. Results can easily be corrected for this curvature by measuring just two standards before samples are measured. This Curve Fitting link provides more information about spectroscopic curve fitting.

I wrote some Matrix Programs to support the hp15c Owner's Handbook examples. On page 138, for example, I programmed the simple linear equation example. I also wrote a general version, which can solve a system of up to 8 linear equations. On a standard hp15c 6 equations can be solved. These programs were originally used to help Torsten Manz debug a beta version of the hp15c Simulator, with included matrix operations. To help, some of the examples have random data entry. The RAN# statements can be changed to R/S if manual data entry is required. Some PSE statements could also be removed, if required. The programs also work on the DM15.

Programs and Handbooks

Many interesting programs can be found at the Museum of hp Calculators, the hp15c Simulator by Torsten Manz and Eddie's Math and Calculator Blog. Links to the hp15c Handbooks can be found at the SwissMicros web site.



I do not have an original hp15C. The DM15 is about 30 times faster than the original hp15C, according to the SwissMicros web page. I understand that the hp15C Limited Edition was about 100 times faster.

On my iMac, Torsten Manz's hp15C Simulator is about 160 times faster than my DM15. Therefore the hp15C Simulator is about 4800 times faster than the original hp15C.


The DM15 has the same accuracy as the hp15C. The hp15C Simulator may show some differences depending on the algorithm used for each function. For example my simple function test routine from Composite, returns 3736036.611 using the DM15c and 3736036.572 using the Simulator. The function test routine uses 26 unique keyboard functions, so there is ample opportunity for errors to accumulate.

DM15 and DM15L Advantages

  • The calculator is quick to use.
  • The calculator is always ready.
  • The calculator size can be very compact.
  • The key-switches are real and, in the case of the DM15L, there are real keys also.
  • The battery life is long, compared with cellphones.
  • There are no interruptions. A cellphone with an emulator may display a request to update, or present other notifications, when the mind is trying to work on a difficult problem. The same issues apply to computers.
  • If you are making a cellphone call, requiring a calculation on the cellphone at the same time, then good luck with that.
  • You can connect to a computer to download or upload programs. In this case, programs and extensive documentation can be saved in the same file. A separate HTML compatible documentation file can also be created. Multiple sub-programs, with unique labels, can be combined in single large, documented, program.
  • The firmware can be easily updated.

Firmware Improvements

My calculator came with firmware version 16 which fixed keyboard timing issues and optimised power consumption. Since version 15 three fonts were also included. Versions 17 to 20 were DM41 fixes.

In version 21 a PSE (Pause) problem was fixed. This correctly allowed any button to be pressed to interrupt PSE in a program. There was now a setting which could be transferred from the console to allow the time-out to be increased when in serial mode. The Julian date calculation was fixed so that hour adjustments around midnight properly caused a day increment or decrement. The command is [ON]+[STO or RCL] for +/- one hour respectively. This adjustment allows daylight saving and changing time zones to be accommodated. For all boards with a Real-Time-Clock (RTC) The command [ON]+[A] shows the date and time for 5 minutes. Date and time is kept correct when doing other tasks, and when the calculator is not being used. See the firmware update history at SwissMicros.

The latest version is V23: 10.05.2017 which added manual setting of time and date. Instructions for this update are here.

There are links to the original hp15C Scientific Calculator documentation at the SwissMicros website.

Firmware update

Like most modern microcomputers it is possible to update the firmware. This is called flashing the firmware. Instructions are available at the SwissMicros website. If the instructions are followed in exact detail then the firmware will be updated. The procedure is reasonably straightforward for a Windows PC and Linux but I was initially a little confused by the Mac OSX instructions. For my own benefit I rewrote the instructions. Essential items such as where should the firmware be located on the Mac and when should return be pressed are dealt with, which may be of help to general users.


Open the Terminal application - keep it open for the Firmware Upload. It is helpful to cut and paste instructions rather than typing them into the Terminal. Spaces and confusing characters like 1 and l should be checked carefully.


The Mac may add “.txt” to the file name if it is downloaded as a text file.

  • Type, or cut and paste, the following lines into the Terminal, with each line ended by pressing return.
  • If updates are required, there may be some delay while they are installed.
  • Wait for the Terminal prompt to return before running the next line.

sudo port selfupdate
sudo port upgrade outdated
sudo port install lpc21isp

Firmware Upload

  • Connect the calculator
  • Type or cut and paste the following into the Terminal - change the bold file name as required

sudo lpc21isp -control -controlinv -hex DM15_M1B_23.hex.txt /dev/tty.SLAB_USBtoUART 115200 12000

  • Press return
  • Using a toothpick push the RESET button located behind the calculator and nearest to the lower left corner (PR ERROR is displayed)
  • Hold the RESET button down for a second or two and then release it

The calculator will turn on and load the new firmware into memory. Progress is displayed in the Terminal. Some baud rates that work are 115200, 57600 and 38400.

  • When the upgrade is finished disconnect the calculator
  • Push the RESET button on the back of the calculator (PR ERROR is again displayed)

This replaces the old firmware with the new firmware. The PGM button is probably used for factory programming. Any entered programs are lost.

PR ERROR (Power Error) is always displayed if the continuous CMOS memory is reset. The error message is a little disconcerting at first. The calculator is simply in the same state it would be in if battery power was removed from the circuit for an extended time. PR ERROR would be shown on startup.


Michael Steinmann at SwissMicros has produced amazing products for such a small Company. He has used the best quality components to produce what is now a reliable scientific calculator. I have had a lot of enjoyment using these devices and also by helping a little with the testing of Torsten Manz's hp15C Simulator.



Email: replace at with @



hp15C Simulator

Curve Fitting

hp15c information

HPCC: Handheld and Portable Computer Club

Museum of hp Calculators

Eddie's Math and Calculator Blog

Guido's RPN calculators

Beta hp15c Simulator


Composite - 12 programs

StraylightP - Curve Fitting

CurveP - Curve Fitting

HgCalP - Calibrate Mercury Analyser

Matrix1 - 7 Programs

Maths1 - 8 Programs

Bike1 - 4 Programs

Some of my Calculating Tools

Sun Hemmi bamboo slide rule Sun Hemmi bamboo slide rule

Otis King's Patent Calculator Otis King's Patent Calculator

hp65 Scientific Calculator hp65 Scientific Calculator

hp95LX Computer hp95LX Computer

hp32S Scientific Calculator hp32S Scientific Calculator

hp42S Scientific Calculator hp42S Scientific Calculator

Inside the DM15 and DM15L

SwissMicros DM15 Scientific Calculator SwissMicros DM15 Scientific Calculator

SwissMicros DM15L Scientific Calculator SwissMicros DM15L Scientific Calculator

My hp calculators needing repair

SwissMicros DM15L Scientific Calculator hp21 Scientific Calculator

SwissMicros DM15L Scientific Calculator hp29C Scientific Calculator

SwissMicros DM15L Scientific Calculator hp9100 Scientific Desktop Calculator