SwissMicros DM15 Scientific Calculator
Updated 11 July 2020
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 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 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
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 4.0.00 now has Matrix support and enhanced documentation capabilities.
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 formula
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.
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
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.
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. The summary file Stat4P.htm contains instructions and a program listing.
I wrote some Matrix examples 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 routines. 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:
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
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.
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.
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.
sudo port selfupdate
Firmware Upload to DM15
For future firmware updates only the following is required:
sudo lpc21isp -control -controlinv -hex DM15_M1B_29.hex.txt /dev/tty.SLAB_USBtoUART 115200 12000
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.
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 hp-15c Simulator.
JEPSPECTRO - Home Page
Email: replace at with @
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
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
Some of my Calculating Tools
Sun Hemmi bamboo slide rule
Otis King's Patent Calculator
HP65 Scientific Calculator
HP32S Scientific Calculator
HP42S Scientific Calculator
Inside the DM15 and DM15L
SwissMicros DM15 Scientific Calculator
SwissMicros DM15L Scientific Calculator
My HP calculators needing repair
HP21 Scientific Calculator
HP29C Scientific Calculator
HP9100 Scientific Desktop Calculator