
开源协议
:MIT License
描述
工程文档会持续更新
概况
这是一个多功能计算器,将科学计算器,数字宏键盘,游戏掌机,和满血开发版4个功能结合到一个机器上。起初是因为我觉得学校统一购买的计算器软件臃肿,又笨重又难用(ti-nspire咳咳),才动手做一个我心目中完美的计算器。不过后来又加了一堆别的功能,然后就成现在这样了。(更多信息请看https://github.com/shaoxiongduan/sci-calc/)
B站合集
配置
- ESP32 WROOM32 E驱动
- 轴体: 凯华v1 choc 矮轴
- 屏幕: 256x64 oled (SSD1322)
- 串口芯片CH340C
- 1000mAh电池+tp4056+dw01电池保护, 支持边充电边使用
- 支持microSD卡存储程序
固件

菜单系统及UI构件

宏键盘程序
宏键盘的程序使用部分也比较直观,通过以下方式可以构建自定义的宏按键。右边两列10个按键作为主要宏按键会自动显示在屏幕上。
自定义一层按键:
Macro layout1[5][6] = {
{Macro({'7'}), Macro({'8'}), Macro({'9'}), Macro({'+'}), Macro({KEY_LEFT_GUI, 'c'}, "COPY"), Macro({KEY_LEFT_GUI, 'v'}, "PASTE")},
{Macro({KEY_ESC}), Macro({'/'}), Macro({'*'}), Macro({'-'}), Macro({KEY_LEFT_ALT, KEY_LEFT_GUI, 'c'}, "C_PATH"), Macro({KEY_LEFT_GUI, 'r'}, "CMD+R")},
{Macro({'4'}), Macro({'5'}), Macro({'6'}), Macro({'^'}), Macro({KEY_LEFT_GUI, 'x'}, "CUT"), Macro({KEY_LEFT_GUI, 's'}, "SAVE")},
{Macro({'1'}), Macro({'2'}), Macro({'3'}), Macro({KEY_RETURN}), Macro({KEY_LEFT_GUI, 'h'}, "HIDE"), Macro({KEY_LEFT_GUI, 'n'}, "NEW")},
{Macro({KEY_LAYER_SWITCH}), Macro({'0'}), Macro({'.'}), Macro({KEY_BACKSPACE}), Macro({KEY_F12}, "G_DEC"), Macro()}
};
初始化宏键盘类:
MacroPad macroPad({
Layout("standard", layout1),
Layout("layout 2", layout2),
Layout("photoshop", photoshopLayer),
Layout("editing", filmoraLayer),
Layout("obsidian", obsidianLayer)
});
MacropadUI macropadUI(&macroPad);
安装
计算器的固件使用vscode+PlatformIO开发的,所有程序和配置文件都在github里:github
将程序往esp32里刷一遍后开机不会立刻运行。需要将sd卡里拷上底下的.bin文件才可以。

功能键使用
切换按键层键/shift:
单按暂时切换,像shift键一样
双按切换并锁定,像caps lock一样
角度切换键:切换角度制和弧度制
tab: 用于计算器输入框和历史记录之间切换
外观
计算器的外观采用了亚克力板堆叠而成,主要由一块黑色半透明亚克力板+pcb+底部透明亚克力板组成。十分结实,造价不高,也非常容易组装,用过的人都说好。
![]() | ![]() |
|---|
UI
计算器
支持基本四则运算,乘方根号,三角函数,指数对数。以后可能会加上自动求导和解方程。
历史记录:用来记录算式,通过tab+enter还可以拷贝历史记录里的答案,大大提升计算效率,无需再手打一遍以前算过的算式。
数字小键盘
这个计算器还可以充当数字小键盘外加10个可自定义宏按键。定义的按键会显示在屏幕左边。还能设置多层宏按键,这样可以针对当前用的软件切换层数
比如:
编程:
Ps:
还有剪辑:
![]() | ![]() |
|---|---|
![]() | ![]() |
上传程序
通过把编译好的的程序的.bin文件存到microSD卡上,计算器会读取卡上文件并运行。为了提升学习效率,增强学习动力,我移植了几位大佬的“学习软件”:

ESP32开发版
本计算器将esp32的引脚引出,可以结合arduinoIDE当成开发板使用。上面引出的引脚还可以接拓展模块(我很懒,还没设计)。
求点赞和关注:)
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

















