
16键双旋钮摇杆键盘-Ethane-XVI
简介
基于CH549的16键小键盘,配有双旋钮和摇杆,带可配置的RGB键盘灯,含改键软件,支持普通键、快捷键、按键组、连点、媒体控制等多种功能。PCB、外壳、CH549程序、QT上位机全开源。
简介:基于CH549的16键小键盘,配有双旋钮和摇杆,带可配置的RGB键盘灯,含改键软件,支持普通键、快捷键、按键组、连点、媒体控制等多种功能。PCB、外壳、CH549程序、QT上位机全开源。开源协议
:GPL 3.0
描述
基本信息
本项目是之前的 Methane-XVI键盘 的升级版,部分内容和Methane-XVI相似,但也有很大的改进和拓展。
输入:16个按键、1个摇杆(PS4摇杆)、2个旋钮(EC11)
灯光:1个RGB灯珠(可调光)、16个WS2812全彩灯珠(反贴)
接口:TypeC接口(可直接TypeC口下载固件,无需下载器)
硬件
做了热插拔和定位板,同时也包含一版非热插拔的PCB,可按需选用。
主控 CH549L,LQFP48封装,直接使用USB的5V电源工作,免去了电源芯片,支持USB直接烧录。
主USB接口使用 TYPEC-306DDW-ARP16,注意此型号为针脚型,和常见的TYPE-C口有所不同,更易焊接。
RGB灯珠选择共阴型,一般有透明和磨砂(雾状)两种,感觉后者发光看起来好一些。
键盘灯使用16个WS2812,注意是反贴的,尺寸这里用的3528的。
摇杆使用1个PS4摇杆,选择普通的摇杆即可,不要使用霍尔摇杆,不保证能支持。
旋钮使用2个EC11旋钮,靠边的是旋钮1,靠中间的是旋钮2。
旋钮1使用常见的EC11旋钮即可,但旋钮2最好使用矮一些的,避免操作摇杆时挡手。
外壳
PCB尺寸与Methane-XVI相同,为10cm×9cm。加上外壳后长宽为11.7cm×9cm。
为了缩小整体宽度,也为了外壳省料,PCB的一边是和侧面是平齐的,没有把PCB全包住。
螺丝用M2沉头的,长度16或17mm(4个)、长度4或5mm(2个)。螺母用M2、外径3mm、高2mm的嵌入螺母(6个)。
主板PCB有热插拔和焊接键轴两个版本,注意区分,若用热插拔版本,还需要定位板,焊接键轴版本则不需要。
定位板也提供了两个版本,推荐使用在内直角处向内挖了圆弧的版本,内直角不做处理的版本可能会产生开槽费。
PCB文件:热插拔版本是PCB_HotSwap,焊接键轴版本是PCB_Welding,有圆弧的定位板是Plate_Milling。
定位板是和上半外壳卡到一起,如右下图所示,然后用那2个短螺丝拧紧(外壳对应位置的两个孔洞安嵌入螺母)。
上半外壳和下半外壳用那4个长螺丝固定一起,嵌入螺母安在下半外壳。
主控方面
CH549L是WCH的一款很适合开发USB设备的51单片机,个人用起来很顺手,我的其他项目也有使用,
它内部有64k的FLASH,目前固件占用了大概一半,而键盘的各种配置数据就存于内部FLASH的后部,占用了不到10k。
尽管它作为8位机相比上一代键盘使用的STM32F1算力低很多,但本键盘仍实现了比上一代丰富得多的功能。
不仅如此,由于可以使用5V电源、免晶振、免USB匹配电阻,CH549的外围电路极其精简,只需要两颗退耦电容,
因此本项目相比上一代的电路要简单许多,更方便焊接。
功能方面
B站展示视频:https://www.bilibili.com/video/BV1K394YfEHY
本键盘的主要功能如下图所示,关于功能的详细介绍可参见说明文档。
本键盘最多能存储8套配置,可通过设置切换键在不同配置间切换,以实现更丰富灵活的功能。
对于按键,支持设置消抖参数,防止按键抖动造成误双击;对于摇杆,支持摇杆中位一键校正。
灯光
本键盘的灯光包括指示灯和键盘灯,指示灯可以指示多种信息,比如当前处于哪套配置,又或者作为大写/数字锁定指示灯等等。
键盘灯可实现自定义灯效,其颜色、动态等都可以自由配置。
每个按键的灯光均可独立配置其RGB色值,而且按键未按下和按下可以分别配置不同的色值,可实现被按下的按键高亮显示。
灯效包含呼吸灯、各种预设流水灯和自定义灯效,可以对多种灯效进行列表循环或随机播放。支持随时间的色彩变幻。
![]() |
![]() |
![]() |
(上面gif受上传大小限制有点糊,在这里姑且展示部分灯效)
上位机
上位机用QT编写,对键盘的所有配置操作均通过上位机进行。
使用自定义HID通信,HID通信底层实现目前基于开源库,有想了解的可以看我这里简单写了介绍:QT使用HID(HidApi库)
为上位机的使用写了比较详细的说明,从这个说明也可以了解该键盘全部的功能和特性。
(上图为上位机使用说明截图,顺带展示下上位机的灯效配置界面)
烧录
烧录软件为 WCHISPTool,可到 沁恒官网 下载。烧录方式为CH549的USB直接烧录。
首次烧录的时候,要用镊子之类的短接PCB上写着RST旁边的两个焊盘孔,而且直到烧录完成都要保持短接。
如图所示,短接蓝色框内的两个孔。
这是由于芯片默认启用外部RST,所以必须人为使它接地,芯片才能上电工作。
对于未烧过程序的新CH549芯片,一般上电会自动进入下载模式,在烧录软件中能检测到设备。
若不是,则需要先用电阻上拉P51引脚(即USB DP线)到3.3V,再上电,触发烧录模式。
若不便完成上拉操作,或想要自己二次开发不断修改程序,可考虑使用下载触发模块:CH5x下载器或USB开关
下载配置按照下图设置(最后一项可选,但第二项使能P5.7作为复位一定不要勾选):
这样烧录一次后,由于第二项没勾选,所以就不再使用RST,就不再需要短接了。
对于最后一项,若选为P51,则就是按上面所述,若需要进烧录模式则需要上拉P51。
若选为P15,则会改为:往下按住摇杆(即令P15接地)再上电,就会进烧录模式。
若有下载触发模块,则选P51方便,否则的话选P15会方便一些。
以上只是对硬件触发下载的选择建议,实际若已烧录了固件,之后若要更新固件,就可使用固件提供的软件触发下载:
使用上位机的特殊功能的Boot预跳转功能,成功后重新插拔键盘,就能进入下载模式,详见说明文档。
其他
若要进行功能裁剪(即删减元件),请对照原理图各个功能模块(图里每个框内的元件算一个模块),并遵循以下原则:
①首先显而易见地,主控、退耦电容、USB接口这3个功能模块均不能删减。
②编码器、蜂鸣器可以直接删减,摇杆可以删减但要在上位机将摇杆功能都设为无。
③按键本身可以直接删减任意个数,但键盘灯WS2812是串联信号,从KEY1到KEY16,要删只能从后往前删,或者全删。
④彩色LED(即指示灯)可以删减,但删除它则很多指示作用无法实现,不建议删。
如进行二次开发,则务必仔细阅读芯片手册、原理图、代码和文档,以防造成引脚冲突或功能冲突等。
2025.3.28更新
微调了灯效切换的配置。
增加摩尔斯码模式,将按键设为此模式后,可用摩尔斯码输入字符,同时可设置按下时蜂鸣器鸣响,模拟电报机的电键。
摩尔斯码模式支持单键(一个键通过按下时长决定是点 • 还是划-)或双键(一个键是点 • ,一个键是划-)。
演示视频可见上面b站链接(主页里该视频的下一个视频)。
当前CH549固件、QT上位机、说明文档版本均为V1.1。
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | 10k | R10 | R0603 | 1 |
2 | MX_1U_3535_RGB | K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K13,K14,K15,K16 | MX_1U_3535_RGB | 16 |
3 | 5k1 | R1,R2 | R0603 | 2 |
4 | 1k | R3,R4,R5,R6,R7,R8,R9 | R0603 | 7 |
5 | 1u | C1,C9,C2 | C0603 | 3 |

评论