RF Eclectica Wiki

Try to learn something about everything, and everything about something - Thomas Huxley

User Tools

Site Tools


Calculator Information

DM41X Info

Purchase Information

  • Date : February 2022
  • From : Swiss Micros (Direct)
  • Price : £185
  • Serial : 01266
  • Battery Swap : 22/9/22


DateSerial No.DM41X VersionDMCP VersionFirmware Files
24/5/22 01266 2.1 3.20 dmcp_flash_3.20_dm41x-2.1.zip

RTC Correction

  • approx. error +3.5s/d = +40.5ppm
  • Correction factor C from C = 2^20 P /(10^6 + P)
  • Approximations :
    • C = 1.04858 P
    • P = 0.953674 C
  • Calculated C = -42.47

Put a text file /rtccalib.cfg in root directory of FAT drive with contents:


update 28/5/22

After a period of observation the rate is now over-corrected. Try reducing correction to -37.5 which corresponds to a ppm error of 35.76ppm, or 3.26 s/d.

RTC Error

StartStopAccumulated Error (s)Rate Error (s/d)Comments
28/3/22 24/5/22 -0.1 correction applied (C=40). Uncorrected error +3.5
24/5/22 new correction C=-42.47
24/5/2225/5/22 -0.3 new correction in wrong direction?
28/5/22 -0.3still over-corrected. New factor: -37.5. DM41X reports this is a correction of -35.3ppm
28/5/2231/5/22 +0.2 Now under-corrected? Difference across 3 days is only 0.5 seconds, so perhaps needs longer to reduce reaction-time-error
28/5/22 28/6/22 +0.1 Almost 1 month later. Delta 31/5/22 = -15.7s, Delta 28/6/22 = -11.6s. +4.1s in 28 days
28/5/22 8/7/22 +0.1 Delta -10.1s
28/5/22 21/9/22 + 0.2 Delta +1.2s. Still slightly under-corrected but good enough
28/5/22 15/4/23 -7.6 +0.0 Delta -7.6s in 322 days = 0.02 s/d
15/04/23 22/11/23 +33.3 +0.2


Complex Numbers

I'm using the 41Z complex number module by Angel Martin to add a 4-level complex number stack. It's a bit confusing at first to get to grips with, but adds a lot of functionality to the the DM41x.

After a bit of trial and error (this is my first play with a “plug-in module” after all) I discovered the simplest way to make the keyboard function normally, and get easy access when needed to the complex functions, was to assign a USER key (usually the statistics summation key ∑+ to the 41Z module function ∑ZL.

Each press of ∑+ now temporarily modifies all the keys to access specific 41Z functions. The functions available are extensive, through the use of the SHIFT key and by multiple presses of the ∑+ (henceforth referred to as Z) key.

I drew out a diagram to show the various functions available.

Once a selection is made the keyboard switches back to its normal behaviour, so all the usual functionality is available.

Most of these are unlikely to be used often - and it's also possible to make a much narrow selection of 41Z functions and make your own USER assignments, rather than use the ∑ZL keyboard - although this might mean you block access to inbuilt functions you might want - which would mean switching out of USER keyboard mode at times. At the moment the ∑ZL option seems the most versatile.

Many of the 41Z functions available are beyond my pay grade and unlikely to ever find a use, but the Complex Keyboard still makes things much easier to deal with.

For example the two keypresses:

Z 1\x

is much easier than the 7 it would otherwise need to invert a complex number

XEQALPHAZINVALPHA I need to practice finding the right function (the main ones printed on the keyboard as well as the new ones provided by 41Z's ∑ZL keyboard, but my fingers are slowly starting to move in the right direction.

One thing I do notice, though, as that due to the need to press various keys (XEQ, ALPHA, SHIFT etc) it's sometimes possible to make a real mess if you miss a vital key in the middle of entering lots of data & instructions and find your stack totally screwed up, or several lines of program code full of nonsense….

I'm sure it'll all become second nature soon enough.

HP16C Emulator module

This is another interesting module to add the functionality of the HP16C - the Programmer's Calculator designed to handle calculations in various mathematical bases as used in computer programming and networking : Binary, Octal, Hexadecimal and Decimal. I adds much more value than the rather basic functions in the Advantage Pac module.

After much trial and error I found a combination of HP16C module and Library 4 library that worked correctly. The HP16C module needs the Library 4 module, but I found some problems with different versions. Using the versions contained in the Swiss Micros package had a weird bug - the 16* (multiplication) function simply didn't work. I found a post by Angel Martin on the HP Calculator Forum with a ZIP file containing the 2 modules that worked correctly.

Here is the zip file : hp-16c_rev.1a.zip

I'll make a separate guide to using the main features here DM41X HP16C Module


Swiss Micros Info


  • Arrived new with a speck of dirt behind the glass in front of the LCD.
  • Able to remove by carefully prising the glass from its bezel (it's held in with double-sided tape)

41Z Deluxe Module

Weird behaviour with its “common factor” display →

  • A number such as 10 + j 1 displays as 10(1 + j) which is wrong
  • example:
    • ( 5 + j 10 ) + ( 45 - j 5 ) is really ( 50 + j 5)
    • calculator displays 50(1 + j)
    • the actual numbers in the registers are correct (50 for Real in X and 5 for imaginary in Y) but the answer displayed as 50( 1 + j ) is badly misleading.
    • doing further calculations with the number on the stack is correct, as long as the answer doesn't have the same display-factorisation bug to mislead you. The only way to be sure is to look at the underlying X and Y stack registers. This spoils the nice ALPHA display of complex numbers, though.
    • it appears whenever the real and imaginary numbers are related by factors of 10 (e.g. 5 and 50, 2 and 20, 3 and 3000, 25 and 250)
  • My Solution is to abandon the deluxe module and revert to a previous version, not deluxe : HP41Z Complex Number Module version 4L
    • This module seems to handle the common factor display correctly.
      • it does not show 50 + j 5 as 50( 1 + j )
      • it does show 50 + j 50 as 50( 1 + j )
    • It requires a different USER KEY assignment:
      • SHIFT ASN</key> ALPHA</key> Z</key> K B</key> R</key>''D ALPHA Σ+ ===== DM41X Program Listings ===== * See DM41X Progs Page Updated : 08/04/24 00:10 BST
public/calculator/info/dm41x_info.txt · Last modified: 08/04/24 00:10 BST by john