These are the latest firmware versions available:Links
DM10 firmwareDM10_22.hex
DM11 firmwareDM11_22.hex
DM12 firmwareDM12_22.hex
DM15 firmwareDM15_22.hex
DM15 firmware 'M80' with extended memory DM15_M80_22.hex
DM15 firmware 'M1B' with even more memoryDM15_M1B_22.hex
DM16 firmwareDM16_22.hex
DM41 firmwareDM41_22.hex

To download, right click on the link of your choice, then left click on the "Save as..." option.

Use the SwissMicros Firmware Update Tool for flashing the calculator.

Early models of the DM calculators (pre Sept 2012) have an LPC1114 CPU with only 32k flash memory.
The firmware versions since V16 for the model DM15 no longer fit into 32k. These are the last 32k versions for the DM15:
DM15_V16_32k.hex, DM15_M80_V16_32k.hex, DM15_M1B_V16_32k.hex

firmware history
see all files
Explanation of extended Memory versions There are three versions of firmware for DM15:

The first one is the same as original HP-15C, so it has exactly the same amount of memory.
M80 and M1B firmware versions contain modified ROMs to enable bigger amount of registers.
The hex number after MEM actually means the memory location where the usable area for registers starts (memory location of NUT CPU).
The memory location of the original HP-15C ROM is at 0xC0; M1B and M80 use 0x1B or 0x80 respectively.

The difference can be seen on calc using [g] [MEM].
Note that recent M80 and M1B firmware versions have special display for memory configuration including sizes of matrices.
Initial configurations should be:

DM1519 46 0-0
DM15_M8019 110 0-0
DM15_M1B19 211 0-0

This also gives an idea about number of available memory.
If you accidentally don't know what this means, please, look into HP-15C manual Appendix C - Memory allocation.
Please see the known limitations of the extended memory Firmware below.
Firmware upgrade under Windows Don't worry, it is not possible to break or brick the calculator with this or any other upgrade procedure.
All programs, registers, etc. will be lost. If these need being preserved, do a backup BEFORE starting the firmware update.

Firmware upgrade under Linux Under Linux the procedure is very similar as under Windows, but instead the tool lpc21isp must be used in a console:
Firmware upgrade under Mac OS/X
Install/update the following software
Console session with the device
Firmware Upload
Known limitations of the extended memory Firmware Solving lin.eq and matrix inversions is limited to matrices with sizes up to 8x8, please see the more detailed explanation by J.Fossy Weinzinger.
Unpredictable things may happen when operating with matrices larger than 8x8, it may even completely block the calculator.