news 2026/3/31 10:48:41

如何从零构建客制化机械键盘: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/3/31 7:45:14

IDM激活脚本终极指南:免费解锁下载神器完整功能

还在为Internet Download Manager的30天试用期限制而烦恼?想要长期享受极速下载体验?这款开源IDM激活脚本汉化版就是你的完美解决方案!它能轻松实现IDM长期使用、延长试用期、重置使用状态,完全免费且操作简单,让你彻底…

作者头像 李华
网站建设 2026/3/28 4:48:14

开源语音黑科技!CosyVoice3实现精准声音克隆与风格迁移

开源语音黑科技!CosyVoice3实现精准声音克隆与风格迁移 在短视频、虚拟主播和AI客服日益普及的今天,用户对“像人”的语音需求正变得前所未有地强烈。传统TTS(文本转语音)系统虽然能读出文字,但往往语气呆板、音色单一…

作者头像 李华
网站建设 2026/3/25 23:40:36

一文说清iverilog在行为级建模中的核心要点

用好 Icarus Verilog:行为级建模中的实战要点与避坑指南数字电路设计从纸面走向芯片,中间隔着一堵高墙——仿真与综合的鸿沟。我们写下的 Verilog 代码,在iverilog里跑得飞起、波形完美,可一旦交给综合工具,结果却“面…

作者头像 李华
网站建设 2026/3/29 18:18:11

创新指南:用pymoo重塑你的优化思维

创新指南:用pymoo重塑你的优化思维 【免费下载链接】pymoo NSGA2, NSGA3, R-NSGA3, MOEAD, Genetic Algorithms (GA), Differential Evolution (DE), CMAES, PSO 项目地址: https://gitcode.com/gh_mirrors/py/pymoo 在当今复杂决策环境中,你是否…

作者头像 李华
网站建设 2026/3/28 11:18:28

5分钟玩转BepInEx配置管理器:游戏模组设置从未如此简单

5分钟玩转BepInEx配置管理器:游戏模组设置从未如此简单 【免费下载链接】BepInEx.ConfigurationManager Plugin configuration manager for BepInEx 项目地址: https://gitcode.com/gh_mirrors/be/BepInEx.ConfigurationManager 在游戏模组的世界里&#xff…

作者头像 李华