Dm50
DM50 is a cheap, powerful, easy to build, open source hardware, and high precision calculator.
Install / Use
/learn @xavierbasc/Dm50README
DM50 calculator
The main features of the calculator are the following:
- 32bit ARM Cortex-M33 MCU ultra low power.
- Mathematical coprocessor acceleration.
- Floating Point Unit (FPU).
- 2MB RAM (STM32U595RJ).
- 4MB FLASH memory (STM32U595RJ).
- 16MB FLASH storage Octo-SPI (accessible via USB).
- USBC port, connects as USB mass storage device.
- Serial port for communications with external devices.
- MicroSD memory slot.
- Integrated speaker and stereo audio output (jack 3.5).
- Graphic LCD Display (128x64 dots).
- ESD protection of USBC.
- LiPO 3.7V rechargeable battery, with JST PH2.0 connector.
- Possibility of using AAA batteries.
- Battery charge level sensor.
- USB power and battery charging status LED indicators.
- JTAG debug port.
- Temperature sensor.
- Same number of keys as the legendary HP48.
Hardware
Below is a list of the most relevant electronic components:
- Processor: STM32U5 ARM Cortex-M33 ultra low power with FPU.
- Display: EA_DOGL128L-6 STN reflective display 128x64.
- Flash memory: W25Q128JVSIQ 16MB Flash.
- Voltage regulator: ADP2108 Vin 2.3 - 5.5, Vout 3.3.
- USB protection: USBLC6-2 ESD protection of VBUS.
- Battery charger: MCP73831 Lithium-Ion/Lithium-Polymer Battery Charger.
Some of the supported batteries are as follows:
| Batteries | Capacity (mha) | | --- | :---: | | AAA Alkaline | 900 - 1155 | | AAA Ni-MH | 800 - 1000 | | LiPO 402025 (4.0x20x25) | 150 | | LiPO LP272247 (2.7x22x47) | 260 |
Electronic design:




Case
Freecad software has been used to design the casing.
The spaces have been optimized to reduce the size, continuously giving shape to the calculator and improving the user experience.

Faceplate
A master faceplate has been designed although it can be exchanged by the user through a simple manual process.
The front plate is printed on photographic paper and cut to size, with professional results. A photo-quality printer is recommended, such as the Epson Ecotank.
To create the faceplate, the Inkscape tool has been used to edit the SVG and the font used is Latin Modern Math, licensed by the GUST Font License, developed by the TeX user group in Poland, and can be used for academic use. , commercial or academic.
Software
TBD
Reference
Comparison of the hardware used in the different reference calculators:
| Year | Model | Processor | FREQ | RAM | FLASH | Display | MIPS |
| :-: | - | - | -: | -: | -: | :-: | -: |
| 1988 | HP42S | HP Saturn (1LF5) | - | 8KB | 64KB | 131×16 | 0.5 |
| 1993 | HP48G | HP Saturn (1LF2) | 4MHz | 32KB | 512KB | 131×64 | 0.5 |
| 2006 | HP50G | ARM9 S3C2410 | 75MHz | 512KB | 2MB | 131×80 | 75 |
| 2013 | TI-Nspire CX II | TI OMAP 3530 | 396MHz | 64MB | 128MB | 320x240 | 792 |
| 2016 | NumWorks | STM32F730V8T6 | 216MHz | 256KB | 6MB | 320x240 | 432 |
| 2017 | DM42 | STM32L476RG | 80MHz | 128KB | 6MB | 400×240 | 100 |
| 2019 | HP Prime G2 | i. MX 6ULL | 528MHz | 256MB | 512MB | 320×240 | 1710 |
| 2021 | OpenRPNCalc | STM32L476 | 8MHz | 128KB | 1MB | 400x240 | 100 |
| 2023 | DM32 | STM32U575 | 160MHz | 786KB | 1MB | 400×240 | 240 |
| 2024 | DM50 | STM32U595RJ | 160MHz | 2MB | 20MB | 128×64 | 240 |
List of software used as firmware in some calculators:
- DB48X: DB48X is a modern implementation of RPL.
- C47: C47 is a RPN Scientific Calculator (old WP43C project).
- WP43: Firmware for the WP43 pocket calculator (old WP43S project).
- Free42: Free42 is a software clone of the Hewlett-Packard 42S calculator.
- TCalc: Firmware for STM32 CAS calculator.
- TinyExpr: parser and evaluation for math expressions.
- Giac: CAS calculation engine used in HP Prime, Casio Graph 90, Casio 35eii, TI Nspire CX, Numworks, and software such as Geogebra and PocketCAS.
Related Skills
node-connect
351.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
Security Score
Audited on Mar 31, 2026
