SwissMicros DM15 Scientific Calculator

Updated 29 December 2023

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. A Titanium backshell is a feature of this design. Other models include the DM41, DM16, DM12 and DM11. They each emulate a corresponding HP version.

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. Two flat contacts were taped underneath the battery.

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 full-size DM15L.

The DM15 Scientific calculator emulates the popular HP-15c Scientific calculator. This HP-15c was first released in 1982 and discontinued in 1989. In 2011 it was released again as the HP-15c 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 a mini-USB port to provide communication with computers so that programs can be downloaded or uploaded. This port also allows the firmware to be updated.

The anodised titanium back case needs to be removed to replace the CR2032 lithium battery. There are four screws also made from titanium. If a screw drops onto the floor, it will not be attracted to a magnet. Use a shallow tray with a cloth inside so that no screws are lost. Do not tighten the screws too hard, particularly with the DM15. In the DM15 the tin-plated copper threaded-collars are soldered directly to the printed circuit board.

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. 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. This port is also used for 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 and Result.

The DM15L has real keys with metal dome switches. The keyboard has a nice feel. The keyboard is made as a one piece plastic part. Each key is held to a supporting 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 and the black colour suggests the use of a clear-coat to protect the applied lettering and to darken the usually dark-grey 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.

HP-15c Simulator by Torsten Manz

A better solution is to pair the DM15 and DM15L calculators with a computer based HP-15c Simulator written by Torsten Manz. The Simulator runs on PC Windows, Linux and macOS. This program runs a realistic simulation of the HP-15c 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. The latest HP-15c Simulator version is 4.3.00.

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 c. Direct computer keyboard mapping of HP-15c 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

An alternative program is: f LBL A ENTER g x2 + 2 ÷ g RTN.

Sum from m to n

The generalised formula for the sum of integers from m to n is ∑x = (n(n + 1) - m(m - 1) / 2. Setting m to zero leaves the original Little Gauss formula. Summing from 10 to 20 includes the eleven integers from 10 to 20. The sum is 165.

An alternative version of the formula is ∑x = (n(n + 1) - (m(m + 1))/2 + m. Again setting m to zero gives the original Little Gauss formula. To fully understand this look up "fencepost error" or "off by one error".

Run the Little Gauss program, for n = 20 and for m = 10. Subtract the results to give a difference of 155. Add m = 10, as in the alternative formula above, to give a correct result of 165.

Program Length

The calculators and the simulator can accommodate longer programs than the original HP-15c because of the greater available memory. The programming instructions are the same as the original HP-15c. 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.

To download a zip-file version of the Composite program click on

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.

To download a zip-file version of the Maths1 program, click on

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.

To download a zip file version of the StraylightP program, click on

Stray Light Curvature Screenshot

Stray Light Curvature Screenshot


For general curve fitting Stat4P provides linear, logarithmic, power and exponential regressions with a single entry of a data set. This program is an adaptation of software I wrote for a personal computer in 1984. For most statistical work a personal computer is best, but this program is good for a first look at experimental data.

To download a zip file version of the Stat4P program, click on

Matrix Examples

I wrote some programs in Matrix to support the HP-15c 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 HP-15c 6 equations can be solved. These programs were originally used to help Torsten Manz debug a beta version of the HP-15c 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. See also HP-15c Matrix test There are many more example programs from the HP-15c manuals and other applied programs at right.


One program I am finding to be generally useful is ToolkitP.

There are 5 programs included:

  • TVM - Accurate Time Value of Money.
  • NewtonP - Newton-Raphson equation solver.
  • CurveP - Fit data that may be linear at low x,y amplitudes but y falls off at higher x values.
  • Stat4P - Linear, logarithmic, power and exponential regressions with a single entry of a data set.
  • StrayLightP - Stray light curve correction in spectrophotometry.

To download a zip file version of the ToolkitP program, click on

Programs and Handbooks

My Program Index contains programs that I have created or modified. The programs have been prepared using Torstan Mantz's HP-15c Simulator and Smultron a programming editor for macOS. I have tried to fully document the programs and reference any ideas I may have sourced elsewhere.

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



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

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


The DM15 has the same accuracy as the HP-15c. The HP-15c 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.

  • Version 23 added manual setting of date and time.
  • Version 25 added a slim 7-segment font option.
  • Version 26 added a new bold 7-segment font option.
  • Version 29 added a GTO I range extension to 999.

There are several other fixes and improvements. Hopefully a future update will allow the calculator to be represented as a USB device on any connected computer. That would allow for simple program updating and storage. See the firmware update history at SwissMicros.

There are links to the original HP-15c 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. My home directory is: Macintosh HD/Users/johnpatterson. This is my Home directory listed under Favorites in Finder.

  • 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 to DM15

For future firmware updates only the following is required:

  • Download or move the firmware from SwissMicros to your Home directory noting the exact downloaded file name, for example DM15_M1B_29.hex.txt
  • Connect the calculator - make sure it is turned off
  • Type or cut and paste the following into the Terminal - change the bold file name as required:

sudo lpc21isp -control -controlinv -hex DM15_M1B_29.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, David and Godwin at SwissMicros have produced amazing products for such a small Company. They have 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 hp-15c Simulator.



Email: replace at with @

JEP Links

JEP Related Links


HP-15c Simulator

Curve Fitting

HP-15c information

HPCC: Handheld and Portable Computer Club

Museum of HP Calculators

Eddie's Math and Calculator Blog

Guido's RPN calculators

HP-12C Financial Calculator


I maintain a HP-15C Program Index for the HP-15c Simulator written by Torsten Manz. This index provides a summary of what each program does.

The summary links to the documentation and to a ZIP-file which contains the program, the documentation and, sometimes, a HP42 and a spreadsheet version.

Alternatively clicking on any of the following links will cause the ZIP-file to be downloaded directly.

Bike1 - 4 Programs

BisecnewtP - Solver for HP programmable calculators

BisectionP - Solver for HP programmable calculators

Composite - 12 programs

CurveP - Curve Fitting

HP-15c Program Examples - 14 Programs

HP-15c Owner's Handbook - 14 Programs

HP-15c Advanced Functions Handbook - 7 Programs

HP-15c Matrix test routines - 2 Programs

HP-15c Owner's Handbook Matrix examples - 9 Programs

Maths1 - 8 Programs

Maths2 - 12 Programs

HgCalP - Calibrate Mercury Analyser

NewtonP - Newton Raphson Solver

Physics1 - 8 Programs

ReactanceP.15c - Reactance calculations, including inductor turns

RladderP - Calculate resistance ladder problems

SecantP - Solver for hp programmable calculators

Stat4P.15c - linear, logarithmic, power and exponential curve fitting

StraylightP - Stray light curve correction

ToolkitP - TVM, equation solving and curve fitting

Little Gauss formula, sum of numbers from 0 to n

Some of my Calculators

Click the photos below to enlarge. Use the browser "back control" to return.

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