本文根据B站up主 三三三三三文啊 的视频
链接:【机械键盘DIY】真正从零开始 设计制作一款多媒体机械键盘
制作流程为:
一.确定键盘的布局
网站:www.keyboard-layout-editor.com
保存SVG文档and JSON文件,后者用于生成软件键位表。
二.绘制原理图
绘制矩阵键盘原理图。因为使用的是Arduino库,因此主控芯片选用该库最常用的atmega32u4。
三.根据原理图与布局需求绘制PCB,并制作。
软件部分
四.烧录bootloader
使用AVRISP进行烧录。atmega32u4对应的bootloader为Leonardo-prod-firm-2012-04-26.hex
当烧录成功后,使用USB插入键盘后可以看到对应的COM口被识别为Arduino Leonardo
五.制作开源固件
选用支持芯片较多,参考案例多的QMK开源固件
1.根据QMK官网文档搭建编译环境
2.根据之前的配置编译程序
网站:kbfirmware.com
将步骤一中的JSON文件导入,即可生成接线图。并对每个键位进行主控芯片的GPIO的配置。
最后将.zip压缩文件下载下来,根据是否有RGB灯等,决定是否需要添加该工程的宏配置与功能函数。
3.烧写固件
使用官方工具QMKtoolbox上传固件,按下复位键,烧录成功啦!
博主根据上述步骤制作了一款基础板17键小键盘,无灯带等其他额外外设。实物图如下所示:
记录一下调试过程中遇到的问题以及解决方法:
(1)用msys2更新所有软件时,发生因密钥出错无法正常更新的情况,尝试解决无果后,使用QMK MSYS来进行hex固件文件的制作;
(2)在https://kbfirmware.com进行固件配置时,没有根据单向二极管(避免键位冲突)的方向进行设置,以及固件连接与PCB连线的一致性;
(3)一开始板子连接电脑后容易出现USB驱动程序错误,更换新的16MHz晶振后稳定。