stm32客制键盘的qmk烧录教程

简介

学习江科大stm32单片机后,我一直想做出什么东西来检验我的学习成效,有一天,在刷b站看到了客制键盘这玩意,我便想,我能不能也做出一个来,便有了今天的这个教程的分享。

项目简介

介绍基于stm32f103c8t6单片机的客制键盘的qmk固件烧录。
QMK固件的核心特点可以简单总结为:

  1. 极度自由的自定义:想改键就改键,想加宏就加宏,按键功能完全自己说了算
  2. 适配性强:支持各种键盘硬件和系统
  3. 功能丰富:带灯效控制、层切换、宏功能等实用工具
  4. 开源免费:有庞大社区支持,新手也能快速上手
  5. 轻巧高效:代码精简,不占过多硬件资源

PCB设计

image.png
pcb的原理图如上所示,主控是stm32f103c8t6,供电ams1117—3.3,轴座,16ptypec接口,8mhz晶振,1n5819ws二极管。
由于我的ws2812灯珠买错型号,便没有进行焊接

4f7ae72083e84d9478de8ffd261839e7.png

41fbac5255589fd4099b8aa88b08418f.png
顶面
image.png
底面

电路调试

本次pcb均采用较大封装与插件,容易焊接。stm32芯片新手焊接容易虚焊,焊接完第一步是使用stlink-ulitity检查是否扫描得到芯片,扫描到后,烧录stm32duino_bootloader,之后键盘固件烧录我们选用typec进行。

image.png
烧录后我们开始qmk固件的准备。
我们需要2个文件:

image.png
首先我们要下载qmkbox

image.png

image.png
解压出来
f2c302c8a47b62c69d9dc23d321aa122.png
接下来我们下载qmkmsys

image.png

image.png
解压后便是下图
6d386a1fb946bab71579e25322b183b4.png
接着我们打开qmkbox

015e818789799e3bee8ddd319d1de833.png
输入qmk setup,终端便会自动下载固件所需的环境。
818a956d11291d5e6f504d4de5baaf00.png
我们打开c盘用户,会发现多了一个qmk的文件,这是我们固件存放的地方

image.png
接着点击进去,打开keyborad文件夹,这是官方给的示例,我们新建一个文件夹,用来存放我的自己的固件,下方这个stm32kb是我自己创建的。

image.png
打开后我们自行新建这些文件

image.png

image.png
我们用编译器打开文件夹,这里以vc为例,

5fca656c8a55417bc14fbb8ac091a776.png

3d05f538310e3c91dc29aa1aff5db270.png
keymap是用来存放我们键盘的布局的,需要根据原理图调整。
60a5375850fff6c3b6579a8329072f76.png

这些是重中之重,用来对应键盘上的row和col的,需要检测仔细
image.png
这些是固定格式

d7a3d861cc774805383be87c739cde86.png

cd30984328c007dfd048cc237ae5c408.png

665cb92143ce9e0865e90fe9a5867418.png

这些是布局描述,可自行修改

3358d69de8d8bf27a3cce92c08475e94.png
这些是优化功能

ee81df64519673823f8cb7dd57f1d011.png

这是几行几列定义
57fd2303403f2f20a967a4a4ef1b6ae8.png

接下来是部分按键键码图片,详细请到官网查看。

0c3a879521061073e9f6b801e9a744b9.png

ca4a76cb2dbe6e8d84aa6af4324aafc3.png

a17c063aa6b0cb12a44b283c53e43b96.png
这样,我们的键盘的固件便配置完成,接下来我们来编译固件。
我们打开qmk msys
输入下图代码,便开始编译。

22ab0c7d86e91461af683d5f38f167bc.png

5d5a58b1cefebf81a90f894086239c4c.png

9613493dc82c46f9da4869ed4535d5d7.png

60d90a6531d5fad0906d1ba5ff5dc900.png
这样就编译完了,由于我之前编译过所以会比较快,第一次烧录通常回2到3分钟,请大家耐心等待。
编译完后我们开始烧录固件,编译完的固件放在build文件夹里。

image.png
我们打开qmkbox,打开固件所在位置文件,按下复位键,便可以烧录了

9423a8c6ef669d94effd1d0b0f4f3ac3.png
总结,花了2天时间接触这个qmk固件烧录,也遇到不少难题,最后烧录成功,我的内心也不少感慨,希望我的教程能帮助更多的客制键盘爱好者,也感谢嘉立创给我提供了这个平台,让我白嫖了好多板子,让我的想法得以实现,现在的我,以后的我都会是嘉立创eda最忠实的支持者。