OpenRPNCalc
软硬件开源的RPN科学计算器
说明
OpenRPNCalc 是一款基于 STM32 微控制器的科学计算器。其源代码、电路原理图及PCB设计文件均依据开源许可协议发布。本项目旨在开发一款具备以下特性的硬件平台:
无需专用工具即可复刻,仅需使用 PCB 打样服务生产的电路板
配备可定制键盘,以满足特定需求(如RPN、代数运算逻辑、自定义功能)
功耗低,电池续航能力强
拥有优质、紧凑且坚固的外壳

这款硬件的设计灵感源自SwissMicros计算器,但整机为全新自主设计。该计算器具备以下特性:
配备大容量栈的RPN运算模式(最多支持 100 个元素)
双精度算术运算
搭载 “标准” 科学计算器功能(三角函数、对数、指数、平方根及幂运算)
误差函数(erf)及其反函数(erfinv)、伽马函数与伽马对数函数、排列组合运算,以及泊松分布、高斯分布和卡方分布的 P 值计算功能
定点、科学计数(SCI)和工程计数(ENG)三种显示模式(工程计数模式下支持国际单位制词头),精度可在 3 至 10 位之间调节
支持基于误差传播的不确定度计算(UNCERT 模式)—— 该功能在软件计算器中较为少见,在硬件计算器领域更是近乎空白
内置相对论运动学相关公式(质心系两体衰变动量、角度与赝快度换算、β 因子与 γ 因子计算)
统计运算功能:平均值计算(不确定度模式下支持加权平均)、均方根(RMS)计算、数值序列的卡方值计算(仅限不确定度模式)
100 个存储寄存器
功耗表现:16MHz 运行频率下功耗为 0.6 毫安;LCD 屏幕常亮的待机模式下功耗为 16 微安;LCD 屏幕关闭的待机模式下功耗仅为 5 微安
可选配惠普 48 系列(HP48)键盘固件,目标是适配 DB48x 系统(目前该功能仍处于深度开发阶段)
硬件概览
计算器使用低功耗 32 位 ARM 微控制器 STM32U385 为核心构建;
显示屏采用夏普记忆液晶模组LS027B7DH01,分辨率为 400×240 像素,为单色显示;
键盘选用轻触式按键开关,具体型号为松下EVPBT1C4A000,按键触发力度为 50 克;
整机电路由一枚 3V 锂电池(CR2032 型号)供电,续航可达数年之久。
该计算器的外壳采用多层 PCB 板堆叠式设计。
前后盖板为铝基板材质,表面覆盖白色阻焊层,丝印则采用黑色。
按键同样由 PCB 板制成,按键标识直接通过丝印工艺印刷而成。
整机所有部件通过 6 个 M2 规格的支撑柱与 12 个平头螺丝固定装配。
外壳的外形尺寸为 139×73×8 毫米。
文档说明
Schematics and parts :原理图、PCB相关组件、电子元器件及其他配件清单(含对应的数据手册链接)
PCB design: 各板层示意图及其功能说明
Case and keyboard assembly: 计算器内部拆解照片、组装步骤指引
Firmware: 代码结构解析与固件烧录教程
项目目录说明
程序代码:基于 STM32Cube IDE 开发的 STM32 固件程序
硬件设计:适用于 KiCad 软件的电路原理图、PCB 设计文件,以及 PCB 生产文件
文档资料:说明文档与相关图片
仿真工具:可部署至 GitHub Pages 或其他网络托管平台的在线仿真器文件

