作者zodhk01054 (sipe)
看板Key_Mou_Pad
标题[键盘] 以Pro Micro 自制机械键盘笔记分享
时间Sat Jan 28 16:17:14 2023
大家好,这篇文章主要是纪录改装树梅派Pi-400为机械键盘的笔记
本身在这方面完全是大外行,期间参考板上众多前辈的分享,
在爬文及制作时有将一些资讯记录下来,想将过程回馈板上,
第一次在板上发文,有任何不妥处还请告知,谢谢。
进入正文前,首先提要几个参考来源:
‧键盘布局网站
http://www.keyboard-layout-editor.com
‧QMK韧体「Keyboard Firmware Builder」
https://kbfirmware.com/
其他参考文章:
‧「40%keyboard」的改装Pi-400文章
https://www.40percent.club/search?q=PI+400
‧「Jeff Geerling」上的专业Pi-400拆解
https://www.jeffgeerling.com/blog/2020/raspberry-pi-400-teardown-and-review
‧「henry jiang」在EasyEDA分享的键盘电路图
https://easyeda.com/henryjiang0x3639/Atmega32u4-Development-Board
‧「ruiqimao」在Github上写的键盘PCB电路入门
https://github.com/ruiqimao/keyboard-pcb-guide
‧本文的启蒙,板上前辈「observer0117」分享的「DIY自组直列式键盘」
https://webptt.com/cn.aspx?n=bbs/Key_Mou_Pad/M.1623060630.A.CF3.html
----------------本文开始--------------
1. 键盘布局规划(keyboard-layout-editor.com)
**布局规划时,按想要设计的最大按键数,
选择使用的开发板(有多少Pin可用)。
以ProMicro为例,常规有18pin可用,即可以制作9x9的81键键盘;
若移除板子上的预设LED,
参考此网站:
https://golem.hu/guide/pro-micro-upgrade/)
则可多2个pin,至多可制作10x10的100键键盘。
当然,如果不考虑鬼键问题,可以透过串接容纳更多按键是没有问题的。
2. 生成Kicad档及电路绘制(
https://kb.xyz.is/)
**若此网站失效,参考下列Reddit作者的作品:
shorturl.at/kEKS0
kb.xyz.is网站非常简单,
只需要将Keyboard-layout-editor.com网站中
Raw栏位下的文字全选贴上即可生成Kicad档做进一步拉线与修改。
KiCAD为开源免费软体,直接搜寻下载即可。
打开KICAD档後需要做一次资料库更新跟元件映射刷新,
详细步骤可能随版本更新有所变动,得适时爬文一下。
3. 送制PCB板(保守可在步骤4、5完成,并且测试完後再送)
目前有很多网站都可以上传档案订做PCB电路板,
这边使用JLCPCB,觉得主要是网站订购流程设计得不错,
唯一缺点是一次需要订制5片(含)以上。
从KICAD完成绘制PCB後:
A. 输出Gerber档,於档案>绘制。
勾选全部图层,预设线粗0.15mm,其余照预设即可。
https://imgur.com/2oi2Ddf
B. 输出Drill(钻孔),於档案>输出加工文件>生成.drl文件。
无脑照预设就可,选择「生成钻孔文件」及以 「生成地图文件」
C. 将A、B步骤中获得的档案压缩为zip後,
即可从JLCPCB或其他网站订购步骤中上传。
虽然PCB订购网站未必需要提供那麽多档案,但是不管它。
从订购到到货非常快,最快大概4~5天就能到手。
**上图可看到卫星轴的孔,我选择的是直接装在PCB上的卫星轴
(另一种是装在定位板上的),有大小孔之分。
图中空白键的卫星轴安装孔位是大孔在上,
表示铁杆是从轴上绕,SHIFT、ENTER等键则反之。
4. 规划QMK键盘韧体(
https://kbfirmware.com/)
A. WIRING:
检查键盘布局,各键的Col、Row接线是否与KICAD中的一致,
又或者修改KICAD布局与本网站WIRING一致。
B. PIN:
规划col、Row对应的PIN脚,ProMicro为Atmega32U4晶片。
PIN跟ProMicro对应的脚位参此网站
https://golem.hu/article/pro-micro-pinout/
前面有提过的获得Pro Micro额外2个脚位作法参考:
https://golem.hu/guide/pro-micro-upgrade/
做法大致是把板子上LED的电阻用电烙铁给「推掉」
C. KEYMAP以降应该就不用多说了,照顺序完成即可。
D. SETTING:
可以替Layout命名,这边直接命名为「kb」。
E. COMPILE 汇出韧体:
i. 汇出选项有两个,一个可载.hex,
另一个为ZIP,我们只需要ZIP
ii. 下载ZIP後解压缩,会获得一个「qmk_firmware」的资料夹
iii. 将里面的makefile档删除,
从本网站中获得的makefile档会造成後续编译失败。
iv. 至此已完成韧体编译前准备,可以先搁着,跳下一步骤
**FN键在QMK中定义为MO(),括弧中为图层(layer)的数字,
预设为0,MO()的功用在於按下去时可暂时切换键盘层为n,
接着再对目标层的键位做更改,即可达到FN键的功能。
键位说明参此网站:
https://docs.qmk.fm/#/keycodes?id=keycodes-overview
**韧体规划到一半可以透过SETTING页签中的
「Save Configuration」按钮来储存设定档。
5. QMK编译韧体
**其实有在想如果直接刷
https://kbfirmware.com/
下载下来的hex档可不可行,若是一般5V的ProMicro说不定可以,
就不用特地做步骤5。
A. 到QMK网站下载必要软体,详QMK Get Start说明页面:
https://docs.qmk.fm/#/newbs_getting_started
下载QMK MSYS,下面有提到的手动安装选项不用理它,那是旧版。
过程中应该会有提示说要不要复制档案到使用者目录中,选是。
B. 按照上面QMK Get Start说明页面的步骤完成qmk setup。
C. 准备将步骤4的档案开始编译,首先确认档名:
点进刚才获得的qmk_firmware资料夹,可以看到里面还有有以下路径
/Keyboard/kb/keymaps/default等资料夹,
其中「kb」以下(含)才是这个自己做的键盘的档案,
其他是编译过程中会需要的档案。
而「kb」这个名称,不管在韧体规划网站上
SETTING取什麽这边都是叫kb,不做更改省得後面麻烦。
D. 准备复制档案到QMK目录中
i. 检查使用者目录C/使用者/<自己的使用者名称>
看下面有没有一个也叫做「qmk_firmware」的资料夹。
没的话重新检查步骤5-A。
ii. 复制从刚刚步骤4-E中提到的「qmk_firmware」资料夹,
贴上到C/使用者/<自己的使用者名称>当中,
档案有重复选择覆盖。
E. 编译韧体(3.3V/8MHz的ProMicro请先拉到最下面的「补充-2」说明)
i. 按WIN+S搜寻「QMK MSYS」并执行。
ii. 键入cd /c/Users/<自己的使用者名称>/qmk_firmware
挂载QMK主目录。
iii. 键入qmk compile -kb kb -km default
开始编译韧体,这是最重要的步骤,
顺利的话就会有跑很多[OK],或是一些警告,然後完成。
若档案有差错,会有各种奇怪的错误讯息。
以前面提到的makefile档为例,
如果没有事先删除就贴到QMK主目录中,
就会造成各种以makefile档为表头,
以及提示kb.h(keyboard.h)档中至少要放入一个keymap,
或是info.json档的错误讯息。
iv. 完成编译後,会自动在QMK主目录下的
.build资料夹中生成kb_default.hex档案,
确认有後就可以准备烧录到ProMicro中。
6. 烧录韧体
A. 下载QMK Toolbox,初次安装後开启提示要安装驱动,请安装。
B. 开启QMK Toolbox,
在Local File中选择QMK主目录/.build,找到kb_default.hex档案
C. USB线插上ProMicro,待下方讯息显示找到硬体後就可以按下Flash烧录韧体。
https://imgur.com/i39uCIN
-------------本文结束-------------
补充说明:
1. ProMicro刷坏的情形
特徵是插上USB线後,Windows跳出无法辨识或损坏的资讯,
且QMK Tools认不出硬体(按下Flash後显示找不到硬体)。
解法:
用回纹针或其他导电物在USB插着ProMicro的情况下,
快速短路RST+GND两次,
此时会进入8秒的Bootloader模式可以重新刷韧体,
赶紧回到QMK Tools重新刷韧体,
也可Clear EEPROM後再重刷。
怕速度不够快时,可以勾选AUTO Flash+Flash when ready。
2. 3.3V / 8MHz的ProMicro一直刷失败的情况
回到C:\Users\<使用者名称>\qmk_firmware\keyboards\kb
路径下,找到rules.mk档案,
以记事本开启後修改F_CPU从16000000为8000000存档。
再重新跳回步骤5-E执行编译并且烧录一次。
最後是一些收到电路板後组装照及成品:
https://imgur.com/xea1vCV
这边用的SMD二极体型号为DIODES 1N4148W,
东西很小,可先在焊盘先上锡,
再焊上其中一脚固定,另一脚补个锡即可。
https://imgur.com/plJIXEb
https://imgur.com/bqkOXml
https://imgur.com/8HAOVXp
电路板与Pro Micro完成接线
https://imgur.com/OQuvlAj
为了方便,有保留PI-400的上盖,
剪去键盘间隔塑料後直接把PCB黏上去。
https://imgur.com/gKCuSHT
成品,使用太豪樱花道键帽
跟PI-400的配色蛮搭的。
-------------------
2023/01/31编辑:
增修一些文字及照片
并补充本次制作上的一些档案,
包含KICAD档、QMK韧体档、键盘布局等,
KICAD布线弄得颇乱,但仍提供给有兴趣的板友参考,
请参下方连结:
https://reurl.cc/AyoOmp
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.226.54.29 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Key_Mou_Pad/M.1674893846.A.292.html
1F:推 darktt: 详尽的资料,这对想要自制键盘的人很有帮助 01/28 16:56
2F:推 Belieeve: 赶快推不然别人以为我看不懂 m(_ _)m 01/28 18:00
3F:推 observer0117: 推,我也想把PI400的薄膜键盘改掉,不过杂事好多... 01/28 18:10
4F:推 kevingamer: 这样哪算外行w 要我这样跑一次流程不知道会失败几次 01/28 18:19
5F:推 iamgodisme: 好猛 01/28 18:22
6F:→ linda888: 推 好厉害!! 01/28 18:43
7F:→ Knuckleslee: pi400有什麽强项值得这样改? 01/28 18:54
8F:→ zodhk01054: 谢谢板友回应,起心动念是想把太豪键帽用掉,未来也可 01/28 19:35
9F:→ zodhk01054: 以拉线出来直接当一个独立键盘用 01/28 19:35
10F:推 a58524andy: 强 推 01/28 19:42
11F:推 observer0117: PI400再加个萤幕就可以改成cyberdeck 01/28 19:43
12F:推 foulhouse: 推高手 01/28 23:40
13F:推 amiwry: 太猛了,推一个 01/29 16:03
14F:推 FAccounting: 厉害 推 01/30 19:47
15F:推 rickey1270: 推 01/31 16:10
※ 编辑: zodhk01054 (36.226.88.175 台湾), 02/01/2023 00:01:55
16F:推 wk415937: 推 02/06 21:03