
66键标准轴、矮轴键盘 主控stm32F072
简介
60%配列基础键位的键盘(含1.25u,1.5u,1.75u和2u),主控为stm32f072
简介:60%配列基础键位的键盘(含1.25u,1.5u,1.75u和2u),主控为stm32f072开源协议
:CC BY-NC-SA 3.0
(未经作者授权,禁止转载)描述
开源声明:CC BY-NC-SA 3.0 署名+相同方式共享+非商业使用
本人萌新,因为假期无聊,想找点乐趣,遂入坑。
在夏天和碳棒大佬开源工程的基础上,复现并设计完成60%配列,基础键位的键盘,主控为stm32f072。
萌新手头什么工具都没有,当然是选择stm32f072这种不需要额外烧录工具的主控了。
首先展示实物,部分键位和标注不符,因为有些大键帽暂时没找到匹配的带字的。
安装茶轴,空格是2U的,所以留有平衡轴位置。
焊接完成后,效果图。
0. 相关知识学习
建议学习和参考夏天和碳棒大佬提供的学习资料:
模块组合键盘:16、32、4x、6x键【ATmega32U4】 https://oshwhub.com/joba/IQP48U-32u4
夏天的模块组合键盘,改主控为【stm32f072、RP2040】 https://oshwhub.com/joba/IQP4X4-4X5S
夏天的便宜好用直列键盘,改主控为stm32f072 - iKing https://oshwhub.com/joba/IQP40S
键盘常用元件与最小系统 https://oshwhub.com/tanbang/du-mu-zhou_copy_copy
【键盘特殊功能】电磁阀蜂鸣器各类编码器等 https://oshwhub.com/tanbang/qmk-jian-pan-te-shu-gong-neng-dian-ci-fa-feng-ming-qi-ge-lei-xuan-niu-bian-ma-qi-yao-gan-ping-mu-deng
1. PCB设计
工程支持backspace,enter,shift,tab和caps等大键、套筒热插拔,已打板验证通过。
包含60%整板,也包含拆分为三个子板的白嫖版本,其中白嫖版本已经验证,可以使用。
以下是白嫖版,拼接完成就是一个66键的机械键盘。
注意:PCB板子的4148封装设计错误,需要反向焊接。具体物料以PCB为准,请勿一键下单。
以下是正确的焊接方向,未清洗PCB板,请忽略渣焊工。
2. 键盘配列生成
66键配列:可以通过在线编辑QMK键盘配列生成,注意烧录stm32f072时需要生成bin固件烧录。烧录完成后,在线测试键盘序列检查烧录是否成功。
通常自定义48键盘配列需要自行安装QMK Firmware编译生成(github)。
git clone https://github.com/qmk/qmk_firmware.git
cd qmk_firmware
qmk setup
创建新的配列 qmk new-keyboard --keyboard 根据提示选择配列和芯片型号。
之后切换到keyboard/ 文件夹
1. 可以根据自己的设计修改配列信息(keymaps/default/keymaps.c)
2. 修改keyboard.json中的键盘矩阵的行列对应STM32F072引脚(66keys)。
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B11", "B12", "B13"],
"rows": ["A0", "A1", "A2", "A3", "A4"]
},
3. 修改keyboard.json中的键盘矩阵的行列宽度信息。
"layouts": {
"LAYOUT_ortho_5x14": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0, "w": 1.25},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
{"matrix": [1, 1], "x": 1.25, "y": 1},
{"matrix": [1, 2], "x": 2.25, "y": 1},
{"matrix": [1, 3], "x": 3.25, "y": 1},
{"matrix": [1, 4], "x": 4.25, "y": 1},
{"matrix": [1, 5], "x": 5.25, "y": 1},
{"matrix": [1, 6], "x": 6.25, "y": 1},
{"matrix": [1, 7], "x": 7.25, "y": 1},
{"matrix": [1, 8], "x": 8.25, "y": 1},
{"matrix": [1, 9], "x": 9.25, "y": 1},
{"matrix": [1, 10], "x": 10.25, "y": 1},
{"matrix": [1, 11], "x": 11.25, "y": 1},
{"matrix": [1, 12], "x": 12.25, "y": 1},
{"matrix": [1, 13], "x": 13.25, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [2, 3], "x": 3.5, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [2, 10], "x": 10.5, "y": 2},
{"matrix": [2, 11], "x": 11.5, "y": 2},
{"matrix": [2, 13], "x": 12.5, "y": 2, "w": 1.75},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [3, 2], "x": 1.75, "y": 3},
{"matrix": [3, 3], "x": 2.75, "y": 3},
{"matrix": [3, 4], "x": 3.75, "y": 3},
{"matrix": [3, 5], "x": 4.75, "y": 3},
{"matrix": [3, 6], "x": 5.75, "y": 3},
{"matrix": [3, 7], "x": 6.75, "y": 3},
{"matrix": [3, 8], "x": 7.75, "y": 3},
{"matrix": [3, 9], "x": 8.75, "y": 3},
{"matrix": [3, 10], "x": 9.75, "y": 3},
{"matrix": [3, 11], "x": 10.75, "y": 3},
{"matrix": [3, 12], "x": 11.75, "y": 3},
{"matrix": [3, 13], "x": 12.75, "y": 3, "w": 1.5},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1},
{"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1},
{"matrix": [4, 3], "x": 3.25, "y": 4, "w": 1},
{"matrix": [4, 5], "x": 5.75, "y": 4, "w": 2},
{"matrix": [4, 6], "x": 7.75, "y": 4, "w": 2},
{"matrix": [4, 8], "x": 9.25, "y": 4, "w": 1},
{"matrix": [4, 9], "x": 10.25, "y": 4, "w": 1},
{"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1},
{"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1},
{"matrix": [4, 12], "x": 13.25, "y": 4, "w": 1},
{"matrix": [4, 13], "x": 14.25, "y": 4, "w": 1},
]
}
}
4.本人不喜欢光污染,因此键盘不支持LED灯光,且不打算更新和完善。
3. 固件烧录
使用qmk生成bin文件,通过qmk_toolbox.exe烧录固件。
打开qmk_toolbox.exe,键盘连接电脑,长按boot键,同时短按一下reset,焊接无误的情况下会显示stm32已连接。如果没有请自行排查焊接是否正确。
忽略qmk_toolbox.exe其他选项,选择bin文件然后点击flash等待进度条完成,即完成烧录。
4. 其他注意事项
注意:本工程的PCB的4148封装设计错误,需要反向焊接,暂时未修改,焊接时需要注意。具体物料以PCB为准,请勿一键下单。
建议焊接时,先焊接stm32和usb的控制电路,连接电脑能够识别后,再焊接键盘轴,以免浪费。
键盘主控位于键盘的最右侧,以下是焊接所需的物料信息,*后表示需要的数量。
主控:STM32F072CBT6或者SMT32F072C8T6
0805电阻:10k *1, 5.1k *2, 22R *2
0805电容:10uf *2, 100nf *6
稳压模块:XC6206-3.3V* 1
自恢复保险丝:6V/1A *1
ZMM3V6 *2
开关二极管:4148W *66
附件中包含用于编译键盘配列所用的qmk键盘程序和测试二进制bin文件,仅供参考。
跪谢嘉立创在近几个月提供的免费打样支持
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | KB01 | ,,0,1,2,3,4,5,6,7,8,9,`,',-,.,/,;,=,A,ALT,B,BACK,C,CAP,D,DOWN,E,ENTER,F,G,H,I,J,K,L,L1,L2,L3,LCTRL,LEFT,M,N,O,P,Q,R,RCTRL,RIGHT,S,SHIFTL,SHIFTR,SPACE1,SPACE2,T,TAB,U,UP,V,W,WIN,X,Y,Z,[,\,] | CHERRY-MX-LOW-PROFILE | 66 |
2 | 10u | C6,C16 | C0805 | 2 |
3 | 0.1uF | C7,C10,C12,C13,C14,C15 | C0805 | 6 |
4 | ZMM3V6 | D1,D2 | LL-34_L3.5-W1.5-RD | 2 |
5 | 4148 | D10,D11,D12,D13,D14,D20,D21,D22,D24,D30,D31,D32,D33,D34,D40,D41,D42,D43,D44,D50,D51,D52,D53,D60,D61,D62,D63,D64,D70,D71,D72,D73,D74,D80,D81,D82,D83,D90,D91,D92,D93,D94,D100,D101,D102,D103,D104,D110,D111,D112,D113,D114,D120,D121,D122,D123,D124,D130,D131,D133,D134,D140,D141,D142,D143,D144 | SOD-123_L2.8-W1.8-LS3.7-RD | 66 |

工程成员



评论