news 2026/6/9 20:10:09

如何从零构建客制化机械键盘:HelloWord-Keyboard完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何从零构建客制化机械键盘:HelloWord-Keyboard完整指南

想要打造属于自己的客制化机械键盘吗?HelloWord-Keyboard项目为您提供了完整的硬件设计解决方案!作为开源机械键盘领域的创新之作,HelloWord-Keyboard不仅具备出色的功能性,还支持丰富的模块化扩展。本文将带您深入了解机械键盘设计的核心要点,从硬件选型到固件开发,助您轻松掌握客制化键盘的设计精髓。

【免费下载链接】HelloWord-Keyboard项目地址: https://gitcode.com/gh_mirrors/he/HelloWord-Keyboard

项目概览与设计哲学

HelloWord-Keyboard是一款基于STM32微控制器的开源机械键盘项目,采用模块化设计思路,支持多种功能扩展。项目的核心设计理念是将传统键盘与现代电子技术完美结合,打造既实用又个性的输入设备。

瀚文智能键盘是一把为特定使用需求设计的多功能、模块化机械键盘。键盘使用模块化设计,左侧的多功能场景交互模块可以替换成各种自定义组件,默认使用的是一个带电子墨水屏以及FOC力反馈旋钮的Dynamic组件;键盘使用基于ARM Cortex-M芯片的键盘固件以及模块固件;键盘本体使用移位寄存器方式实现优化的按键扫描电路。

项目架构与资源详解

项目采用清晰的目录结构组织,便于理解和二次开发:

  • 硬件设计:包含完整的电路原理图和PCB布局文件
  • 固件开发:提供基于STM32的完整固件代码
  • 软件工具:配套的开发工具和配置软件
  • 3D模型:提供外壳和配件的STL文件

硬件架构说明

瀚文的结构包括三大部分:扩展坞底座、键盘输入模块和可替换的多功能交互模块,键盘输入模块和可替换的多功能交互模块通过若干接触式触点连接在扩展坞底座顶部:

而键盘本体也是一个标准的客制化键盘层叠结构设计,包含减震棉、PCBA、定位板、轴下垫等组件:

键盘的结构设计主要是75键布局,有其他布局需要的同学可以自行修改PCB和固件适配。

关键技术实现要点

芯片选型与硬件设计

键盘主控选用STM32F103CBT6芯片,该芯片具备两个SPI硬件接口分别用于按键扫描以及RGB灯驱动,以及一个全速USB接口。

Dynamic组件主控使用STM32F4系列,具备一个高级定时器用于PWM生成、2个硬件SPI接口用于编码器和电子墨水屏通信、一个I2C接口用于OLED驱动,以及一个全速USB接口。

电机磁编码器芯片使用AS5047P,这是一款常用且性能良好的磁编码芯片。按键扫描用的移位寄存器使用74HC165,该型号芯片零售价约0.5元一片,一片可以驱动8个按键,按照需要的按键数目修改串联的寄存器芯片即可。

电机选型与力反馈实现

瀚文键盘使用2204型号的无刷电机,需要选择KV值较低(约200左右)的型号。电机需要手动在转子上安装一个径向充磁的永磁体用于编码器定位,不同型号的电机需要对FOC参数进行相应调整。

电路设计与信号处理

键盘的电路设计采用优化的布局方案,确保信号完整性和电源稳定性:

软件架构与固件实现

按键映射与重映射机制

为了充分发挥移位寄存器扫描方案的优势,固件代码中将PCB Layout走线和按键扫描顺序解耦,通过软件进行重映射。也就是说PCB中按键的连接可以是任意的,走完线之后可以在配置文件中指定映射方式。

这是一个二维数组,代表有多层键位映射,每一层有对应数量的按键。第0层是特殊的,负责映射PCB按键的随机布局到键盘标准按键布局,后续的1、2、3、4...层都是自定义的,负责映射标准按键布局到任意布局。

防抖滤波算法实现

固件中使用了每个按键独立的滤波,但是以一种非常高效的方式来实现。基本原理是通过按键抖动检测机制,确保按键输入稳定可靠。

在QMK文档中描述了其使用的几种滤波方法,分为Eager和Defer、对称和非对称等。默认使用对称延迟全局滤波,也就是对所有按键进行同等的滤波,等所有的按键都稳定了不再变化,再提交扫描数据。

瀚文固件中使用的是对称延迟独立滤波,也就是对每个按键进行两次检测,如果第一次检测到了按键变化,那么相隔N微秒再检测一次,如果两次检测结果一致,那么判断按键被按下,此时可以确保按键发生了变化,且不会重复触发按键,兼顾延迟和稳定性。

这个过程是通过异或运算进行高效处理的,正好按键buffer由于是移位寄存器扫描得到的,本身就是每一位代表一个按键,所以滤波效率非常高,实测效果也很好。

RGB灯光控制

代码中使用的是单总线的ws2812b系列灯珠,一根线就可以串联大量RGB灯珠,而且代码中实现了SPI-DMA模拟时序,得到了超高的刷新率。

快速上手指南

环境准备与工具安装

  1. 硬件准备:配置STM32开发板和相关组件
  2. 开发环境:安装STM32CubeIDE或CLion开发工具
  3. 烧录工具:准备ST-Link或JLink调试器

固件烧录步骤

使用JLink、STLink之类的调试器烧录,PCB和外壳上都预留了SWD调试口。对于没有硬件开发经验的同学,项目后期会提供Bootloader,可以直接通过USB口进行固件升级。

驱动安装说明

需要使用Zadig工具给键盘模块安装libusb驱动,具体操作可以参考相关教程。

高级功能扩展

对于进阶用户,可以尝试以下功能扩展:

  • 添加自定义键位映射层
  • 开发新的Dynamic组件应用
  • 集成更多传感器功能
  • 实现无线连接支持

学习资源汇总

项目提供了全面的学习资源:

  • 完整的设计文档和原理图
  • 详细的固件开发指南
  • 模块化扩展说明
  • API接口文档

通过HelloWord-Keyboard项目,您不仅能够学习到专业的硬件设计技术,还能打造出真正属于自己的个性化键盘。无论是电子爱好者还是专业工程师,都能从这个开源项目中获得宝贵的实践经验。

立即开启您的客制化机械键盘构建之旅!

【免费下载链接】HelloWord-Keyboard项目地址: https://gitcode.com/gh_mirrors/he/HelloWord-Keyboard

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 22:39:57

Live Server 3分钟上手:零基础搭建实时预览环境

Live Server 3分钟上手:零基础搭建实时预览环境 【免费下载链接】vscode-live-server Launch a development local Server with live reload feature for static & dynamic pages. 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-live-server Live…

作者头像 李华
网站建设 2026/6/8 19:32:31

5个理由告诉你为什么MaaYuan游戏自动化工具能彻底改变你的游戏体验

5个理由告诉你为什么MaaYuan游戏自动化工具能彻底改变你的游戏体验 【免费下载链接】MaaYuan 代号鸢 / 如鸢 一键长草小助手 项目地址: https://gitcode.com/gh_mirrors/ma/MaaYuan 还在为每天重复的游戏日常任务感到疲惫吗?MaaYuan作为一款基于先进图像识别…

作者头像 李华
网站建设 2026/6/8 18:52:25

Windows下运行CosyVoice3的挑战与解决方案汇总

Windows下运行CosyVoice3的挑战与解决方案汇总 在AI语音合成技术迅猛发展的今天,声音克隆已不再是科幻电影中的桥段,而是正逐步走进日常应用。阿里开源的 CosyVoice3 凭借其“3秒极速复刻”和“自然语言控制”两大亮点功能,迅速吸引了大量开…

作者头像 李华
网站建设 2026/6/9 0:32:13

FreeRTOS测试框架终极指南:从零构建高可靠性嵌入式系统

FreeRTOS测试框架终极指南:从零构建高可靠性嵌入式系统 【免费下载链接】FreeRTOS Classic FreeRTOS distribution. Started as Git clone of FreeRTOS SourceForge SVN repo. Submodules the kernel. 项目地址: https://gitcode.com/GitHub_Trending/fr/FreeRTOS…

作者头像 李华
网站建设 2026/6/9 1:22:39

CosyVoice3 GitHub源码更新地址及本地同步操作指南

CosyVoice3 GitHub源码更新地址及本地同步操作指南 在智能语音技术飞速发展的今天,个性化声音克隆已不再是实验室里的概念,而是逐步走入日常应用的关键能力。无论是短视频创作者希望用“自己的声音”讲述故事,还是企业需要打造专属语音客服形…

作者头像 李华
网站建设 2026/6/9 0:50:32

AI知识图谱完整实战指南:从零构建高效知识管理系统

AI知识图谱完整实战指南:从零构建高效知识管理系统 【免费下载链接】ai-knowledge-graph AI Powered Knowledge Graph Generator 项目地址: https://gitcode.com/gh_mirrors/aik/ai-knowledge-graph 在信息爆炸的时代,如何从海量非结构化文本中快…

作者头像 李华