
如果你逛键盘圈够久应该见过那种左右分开、带弧度的分体键盘。我第一次看到 OpenRIG 这个开源项目时第一反应是这不就是把一把正常键盘拦腰拆成两半中间再加根线吗有什么稀罕的。直到后来我下载了它的全套开源资料对着原理图、矩阵接线图和固件配置文件仔细读了一遍又亲手从零焊完一整把才意识到这个项目的价值根本不在分体两个字上——它其实是一套把键盘从买来就用变成完全自己掌控的完整路径。这篇文章我会把 OpenRIG 从项目背景、硬件选型、矩阵原理、手焊实操到固件配置、外壳组装整个流程原原本本讲一遍重点放在那些资料里不会写、但你实际操作时一定会踩的坑上。无论你是想入门客制化键盘、想搞懂 QMK 固件是怎么跑的还是单纯想给桌面添一把手感不错又不会撞款的键盘这篇应该都能给你省下不少摸索的时间。1. 先搞清楚OpenRIG是什么再做决定不迟很多朋友看到开源键盘四个字就直接去 GitHub 点下载结果拉下来一堆 KiCad 工程文件、Gerber 光绘文件和密密麻麻的 C 代码当场就懵了。我自己也经历过这个阶段所以先把 OpenRIG 到底是个什么东西讲清楚。1.1 它不是套件而是一整套可以自己复制的设计OpenRIG 本质上是一个开放硬件的分体式机械键盘项目。所谓开放硬件意味着不仅固件开源连 PCB 原理图、电路板 layout、外壳 3D 模型、键位矩阵定义这些物理部分也全部公开。你可以直接拿去打板厂做 PCB去嘉立创或者捷配花几十块钱打回来五套板子再自己去电子市场买齐元件然后用烙铁一点一点把它焊起来。这和市面上绝大多数量产的分体式键盘有本质区别。量产键盘你买回来能改的顶多是键帽和轴体键位布局是固化在固件里的想动一个按键的位置都得看厂商脸色。OpenRIG 则是从底层设计到顶层键位全是你的矩阵怎么走线、主控放在哪一边、用多少颗二极管、键位怎么分配全部可以按自己的习惯调整。1.2 项目整体架构主控加从控的经典分体方案OpenRIG 默认采用了我个人很喜欢的主从分离方案。左右两块 PCB 各有一颗主控芯片左边那块作为主控负责连接电脑右边那块作为从控负责采集右侧按键信号两块板之间通过一根 TRRS 音频线就是四极的 3.5mm 耳机插头线通信。这样设计的好处有两个。第一左右手之间只有一根细线连接桌面看起来非常清爽第二左右两块板的电路完全对称打板时只需要做同一块 PCB左边装主控固件、右边装从控固件成本直接砍半。坏处也很明显——TRRS 线是模拟音频标准的接口不是专门为键盘通信设计的如果你在键盘通电状态下插拔它很容易造成瞬间短路轻则键盘失灵重则烧掉主控芯片。这一点后面我会专门讲怎么避坑。项目默认的主控芯片是树莓派 RP2040。这块芯片因为树莓派 Pico 开发板的爆火价格被打到了十块钱以内性能却一点不弱双核 ARM Cortex-M0133MHz 主频还能原生支持 USB HID跑 QMK 固件绰绰有余。对于想自己动手做键盘的人来说RP2040 几乎是当前性价比最高的选择没有之一。2. 物料选型的底层逻辑别小看每一颗二极管OpenRIG 打样只需要一张 PCB 图纸但焊一把成品需要的东西就多了主控板、轴体、二极管、轴座、连接线、外壳、键帽七七八八加起来一堆。这一节我把选型逻辑讲透你以后再做其他项目也用得上。2.1 主控为什么选RP2040而不是STM32早几年的开源键盘项目主控清一色用 STM32F103 或者 STM32F072大家图的是资料多、例程全。但 STM32 有个很实际的问题市面上假货太多价格波动又大对新手非常不友好。你从淘宝买了十个芯片可能一半是翻新片焊上去之后跑起来没问题用两个月突然某颗引脚坏了排查起来极其痛苦。RP2040 就没有这些毛病。它是树莓派基金会亲自设计的芯片供货渠道稳定而且大多数场景下你根本不用直接买裸片——直接买一块 Raspberry Pi Pico 开发板把板载的 RP2040 当作键盘主控用就行。开发板上自带了 USB 接口、Boot 按键、晶振和 Flash 存储全部帮你接好了你只需要从 Pico 板上引出必要的 GPIO 引脚接到键盘矩阵上。更重要的是RP2040 的 Boot 模式是原生支持 UF2 烧录协议的。按住 Boot 键插上 USB电脑就会识别出一个 U 盘把编译好的固件文件拖进去就完成烧录了。不需要额外的烧录器不需要装驱动全程傻瓜式操作。这一点用 STM32 是无论如何也做不到的光是折腾 ST-Link 就能劝退一多半新手。2.2 二极管、轴座与连接线的具体选择OpenRIG 的电路板上每颗轴位旁边都有一颗二极管用途我在下一节详细讲这里先说选型。最常见的型号是 1N4148一种小信号开关二极管价格低到可以忽略不计——一百颗大概也就两三块钱。它的反向恢复时间够快正向压降也合适做键盘矩阵是标准选择。注意千万别用 1N4007 这种整流二极管顶替。1N4007 的恢复速度太慢在高频扫描矩阵时会出现串键和误触问题我当时图省事用过一次结果好几个按键触发不稳定最后全部拆掉重焊血泪教训。轴座方面如果你打算长期用建议选五脚轴座或者兼容 PCB 的贴片轴座这样轴体可以直接卡在 PCB 上不用单独买定位板也能正常使用。很多人觉得定位板是必须的其实不是——PCB 本身厚度足够的话五脚轴直接固定在板子上也完全可行手感上会因为少了金属板回弹稍柔一点但稳定性没有问题。TRRS 线我建议买那种带屏蔽层的四极线长度控制在 20 到 30 厘米最合适。左半部分放在桌上右半部分放在鼠标旁边中间留点余量但不要拖地太长的线反而容易把键盘绊住。买的时候注意插头要买 4 段式的别买成 3 段式单声道线那种线只有三芯无法完成左右通信。2.3 轴体与键帽怎么配不踩坑轴体选择看个人手感偏好但有一点技术参数得注意键盘矩阵扫描时轴体内部两个触点闭合后需要等待去抖时间也就是说轴的抖动时长直接影响按键触发的一致性。传统 Cherry 轴触发行程 2mm总行程 4mm数据稳定如果换成那种超短行程的快银轴你需要去固件里调整去抖参数否则可能出现双击。键帽更简单OpenRIG 默认键位布局是类似 Ergodox 风格的分体布局最底下一行的拇指区域用了不少 1U一个标准键位宽度和 1.5U 的键帽。普通标准 104 键键帽套装里这些尺寸通常不够选购时要特意看键帽是否支持Ergodox 增补或分体键盘增补否则装到最后有几个键帽对不上很难受。3. 矩阵扫描原理为什么每个轴都要配一颗二极管键盘不能像接线板一样每个按键单独拉一根线到主控——那需要上百个引脚主控根本不够用。所以键盘内部全部采用矩阵扫描的方式用行线和列线交叉来定位按键位置OpenRIG 也不例外。这一节我们从原理层面拆解这是后面配置固件和理解故障的基础。3.1 行列扫描是怎么工作的想象一下 4 行 6 列的矩阵一共有 4 根行线和 6 根列线交叉点有 24 个。主控不断给每一行通高电平然后读取每一列的电平状态。如果第 2 行的某个位置按键被按下那么第 2 行和对应列之间就会导通主控在给第 2 行通电时就会在那一列上读到电信号从而知道第 2 行第 3 列这个位置被按下。问题来了如果你同时按下第 2 行第 3 列和第 3 行第 5 列两个键矩阵里会形成一条通路——电流可以从第 2 行流入经过第 3 列的按键再经过第 5 列的按键流到第 3 行然后被主控误判为第 2 行第 5 列也被按下。这就是经典的多键冲突也叫鬼键。解决鬼键的方法就是在每个按键的通路上串一颗二极管。二极管是单向导通的电流只能从行流向列这样一来上面说的反向通路就被切断了无论你按多少键矩阵都能准确定位。这就是每颗轴旁边那颗 1N4148 的全部意义。3.2 OpenRIG 的矩阵排布与二极管方向OpenRIG 的电路图上每一半键盘的矩阵大约是 4 行、每行 7 到 8 列左右各有一颗主控所以左右矩阵是独立扫描的之间通过串口把数据同步给主控再由主控统一上报给电脑。默认布局里左半的拇指区有 3 个键右半拇指区也是 3 个整体算下来总共约 58 键左右。二极管方向有个非常关键的原则二极管必须串在行线和键位之间阴极朝行线方向。如果你焊反了单个键位大概率还是能用但多键同时按下时会触发错乱更常见的是整行失灵因为你等于把整个行通路给堵死了。我建议你在焊之前拍一张电路图照片焊的时候每焊一颗就对照一下朝向别靠记忆硬肝真的会翻车。3.3 手焊飞线好还是直接打PCB好OpenRIG 提供了完整的 PCB 工程文件直接打板是最省事也最可靠的方式。但很多入门玩家为了方便修改布局会选择手焊飞线——不用 PCB直接在亚克力板或 3D 打印板上把轴位固定好然后用漆包线一根一根把行线和列线连到主控引脚上。我的看法是第一次做 OpenRIG除非你只是玩票最好还是老老实实打 PCB。原因很简单OpenRIG 的布局是经过作者反复调整的你手焊飞线时不仅要保证走线正确还得考虑绝缘、扎线固定和理线出错概率翻了好几倍。打一套 PCB 的成本也就二十来块钱把折腾飞线的精力省下来去打磨键位配置性价比高得多。飞线方案适合那些后续想改布局、加旋钮、加屏幕的老玩家而不适合第一次上手的萌新。4. 焊接实操全记录从烙铁温度到二极管极性如果你已经决定动手那么恭喜你进入了整个项目里最痛苦也最好玩的环节。焊接本身不难难的是焊接结果不短路、不虚焊、不焊反。这一章我把实操顺序和自己翻过的车全部交代清楚。4.1 工具准备与焊接顺序最低配置需要一把调温烙铁、含铅焊锡丝含铅的流动性比无铅好太多新手强烈建议、助焊剂、吸锡带、镊子、万用表。烙铁温度我习惯设在 320℃ 左右不要超过 350℃否则容易把焊盘烫掉。焊接顺序务必要规划好先把所有二极管焊完再焊主控板或者主控排针最后再装轴座和轴体。先焊二极管的原因是它们贴在 PCB 上不占空间焊完之后剩下的元件就不会挡住操作了。焊二极管时用镊子夹住管体轻轻按压在焊盘上先给其中一个焊盘上锡固定确认位置正了之后再焊另一头。每颗焊接时间控制在两秒左右不要长时间加热。焊完之后别急着通电先用万用表二极管档测一下每颗二极管是否有正向导通压降如果某个位置读出来是无穷大说明虚焊或者没焊好直接返工。4.2 二极管极性这个最常见的坑我在群里见过不下十个人第一把 OpenRIG 焊完插上电脑发现左侧某一行完全没反应最后排查出来都是二极管极性装反了。原因是大多数人的习惯是先看 PCB 上丝印但 OpenRIG 的 PCB 丝印上二极管符号可能比较小在强光下很难看清哪边是阴极。这里分享一个不依赖丝印的验证方法二极管表面会有一条银灰色的横杠代表阴极方向把二极管放在 PCB 上时让横杠方向对准丝印上那个竖线的一端即可。如果你的 PCB 丝印实在看不清直接用万用表的二极管档测量红表笔接横杠一端阴极黑表笔接另一端数字表应该显示 0.5 到 0.7 左右的压降如果读数显示 1超量程就说明极性接反了。千万别觉得焊反了再拆下来重新焊就行二极管贴在 PCB 背面、焊盘细拆的时候很容易连焊盘一起拽掉。焊之前认真对好方向远比事后补救省心。4.3 飞线布线与绝缘如果你是严格按照 PCB 打板走的这一步基本可以跳过。但如果你想自己加装 RGB 灯、旋钮编码器或者小型 OLED 屏幕那就绕不开飞线。飞线最核心的礼貌是不要让裸露的线芯和相邻走线有任何接触的可能。我的习惯是飞线一律使用 30AWG 左右的特氟龙硅胶线颜色按照电源、信号、行线、列线分开。走线时尽量贴着 PCB 表面拐弯处留出倒角不要直角硬折否则内芯容易断。几条线需要交叉时用一根短线跳过去而不是硬拉长距离去够。加装 RGB 灯时还要注意供电问题。RP2040 的 3.3V 引脚能提供的电流有限你如果给一整排灯珠供电电压会被拉垮矩阵扫描都变得不稳定。最简单粗暴的解法是外接一个 5V 电源模块单独给灯带供电地线跟主控共地即可。我自己第一次加灯就栽在这上面焊完灯带上电后键盘偶尔断连拔掉灯带立刻恢复正常查了半天才想到是功耗问题。5. 固件烧录与键位配置让键盘真正听你的话硬件焊完只算完成了一半。OpenRIG 默认支持的固件是 QMK这是目前开源键盘圈事实上的标准。配置完这一层你的键盘才真正算活了。5.1 编译环境的搭建与选择QMK 的官方文档其实已经把环境搭建写得很清楚了我只说几个实操重点。Linux 和 macOS 直接按官方脚本装就行Windows 上维护最省心的方案是 MSYS2 环境装好之后执行 qmk setup 会把整个工具链和所有键盘定义拉到本地。如果你是纯小白强烈建议先用 QMK 的在线配置工具QMK Configurator生成一个最简单的 keymap编译好 JSON 之后再用 qmk compile 生成 hex 文件。这样能避免一开始就陷入 C 语言代码的泥潭。跑通一次之后再回到源码里去改布局心里就有谱了。OpenRIG 在仓库里提供了专门的键盘定义文件夹安装 QMK 之后把它复制到 qmk_firmware/keyboards 目录下直接运行qmk compile -kb openrig -km default如果编译没报错会在当前目录下生成一个 openrig_default.uf2 文件这就是你要拖进 RP2040 的固件。5.2 keymap 配置的实际操作编译通过只是开始真正需要花时间的是 keymap.c 里的布局排列。OpenRIG 的键位定义格式和常见分体键盘不太一样但 QMK 的可读性做得很好你打开文件后对照矩阵定义基本能猜出每个位置的作用。我建议第一版配置不要贪多先把主键区、拇指区、Shift、Enter 这些基础键位排好烧录进键盘试打两天再根据习惯微调。有些人一开始就直接上一堆层Layer 0 主键盘Layer 1 数字区Layer 2 多媒体区Layer 3 功能键区结果打到一半按错层整个输入节奏全乱。不是不能加层而是先从简单的来。下面是一段极简的 keymap 开头示例用来示意矩阵列数和行数如何与硬件对应const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] { [0] LAYOUT( KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_BSPC, MO(1), ... ), };5.3 烧录Bootloader与常见排错RP2040 的烧录几乎不会出大问题前提是你知道怎么进入 DFU 模式。操作方式很简单把键盘用 USB 线连上电脑后按住 PCB 上的 Boot 按钮或短接两个 Boot 焊盘同时再次插入 USB 线电脑里会出现一个名为 RPI-RP2 的 U 盘。把编译好的 .uf2 文件拖进这个 U 盘指示灯闪两下固件就写入了。如果拖进去之后键盘没反应优先检查两点第一Boot 模式下 U 盘是否正确识别第二固件里的键盘名和设备生产商标识是否匹配系统要求。通常 Windows 会识别为一个 USB 输入设备macOS 需要在系统设置—键盘—修改键盘里重新选择一下键盘类型。遇到能进 Boot 模式但烧录后无反应的大概率是你编译时选错了芯片型号。RP2040 的 Boot 模式下必须烧录 .uf2不能烧 .hex否则芯片不认。这个坑不算大但很容易被忽视。5.4 按键触发测试万用表与QMK测试模式焊接结束、固件烧好之后先不要上键帽用 QMK 自带的测试模式直接看矩阵每个交叉点的通断状态最方便。默认的 QMK 固件若开启了 DEBUG_MATRIX在终端里用 qmk console 连接键盘每按下一个键位就能看到类似 matrix row 2 col 5: down 的输出。如果没有开启调试选项也可以用最朴素的万用表二极管档把两支表笔分别点在行线和列线的焊盘上按下对应轴体看万用表是否导通。这种方式适合物理排查比软件更快定位到哪一行、哪一列出了问题。实测下来超过一半的整行失灵都是飞线松脱或者二极管虚焊造成的万用表一测就知道在哪一段。6. 外壳组装与手感调校焊好 PCB、刷好固件键盘已经可以用了但裸板摸起来硌手、踩上去也不稳。外壳是手感的一部分这里结合 OpenRIG 的开源 3D 打印模型说说怎么处理。6.1 3D打印外壳的参数与后处理OpenRIG 默认的外壳模型是上盖加底壳的上下结构上盖用于固定轴体底壳用于支撑 PCB。打印建议使用 PLA 材料已经足够如果你想要更耐热、更结实的PETG 是更好的选择但打印温度要相应提高。打印参数上推荐层高 0.2mm壁厚 3 到 4 层填充 20% 到 30%。填充太低会导致螺丝柱强度不够拧螺丝时容易滑牙填充太高则浪费时间且没必要。打印完成后需要把支撑材料清理干净特别留意轴体安装孔附近有没有残余支撑毛刺否则轴体装进去会卡住按下去手感很涩。如果你想省掉打印环节用亚克力激光切割也可以但要注意 PCB 的厚度和外框预留的卡槽宽度是否匹配否则装进去要么松松垮垮要么塞不进去。6.2 手感调校定位板、轴体与键帽的综合体分体键盘的手感是个玄学但有几个变量是可调的。第一是轴体线性轴手感直上直下适合打字量大的人段落轴手感明确适合不喜欢触底才发现按到了的人。第二是键帽高度原厂高和 OEM 高的键帽最通用分体键盘的拇指区域因为位置偏下建议用更矮的 DSA 或 XDA 球帽否则手指够起来累。第三才是外壳。OpenRIG 默认的硬质外壳属于硬性安装没有 gasket 结构那种缓冲效果所以键盘敲起来会比较脆。如果你偏好更柔和的手感可以在 PCB 和底壳之间垫一层 1.5mm 的硅胶垫品牌叫轴下垫或者底棉淘宝买一张自己裁切就行。这东西成本极低但能明显降低空腔音和震动。6.3 日常使用中的稳定性表现与隐藏问题把 OpenRIG 作为主力键盘用了大半个月之后我的评价是稳定性和量产键盘没有可感知的差距但有几个隐藏问题必须在入手前想清楚。第一TRRS 线连接处因为是外露的搬动机箱或推键盘时容易扯到。最好养成轻拿轻放的习惯别在通电的时候热拔插 TRRS 线。第二RP2040 的 USB 接口位置如果在 PCB 边缘线材弯折受力会传导到焊盘上建议用带编织网的短线而且要稍微留出弯折余量。第三分体键盘的左右两块之间没有连体固定桌面必须足够平整否则左右高度稍有差异长时间打字手腕会歪。这些都不是什么致命伤但你在上手第一天就应该了解后面用起来会舒服很多。6.4 进阶玩法ZMK蓝牙方案与自定义扩展如果你不满足于有线的 OpenRIG也可以把它改成无线。思路很简单把主控换掉用支持蓝牙的开源主控比如 Nice!NanonRF52840 平台同时把固件从 QMK 换成 ZMK。ZMK 在蓝牙连接稳定性、多设备切换这些方面比 QMK 原生 BT 方案体验好不少而且同样支持 ZMK Studio 在线改键。不过要做好心理准备换主控不只是换芯片这么简单。Nice!Nano 的引脚定义和 RP2040 不一样矩阵接线位置要重新对应电池充电、电池电量检测也得自己加电路固件配置语法和 QMK 也有区别。这个方案适合已经把 QMK 玩明白的人不要在第一次做 OpenRIG 时就上无线给自己徒增难度。比较温和的扩展倒是值得推荐在左右任意一侧加一个 EC11 旋转编码器用 QMK 的 encoder 功能可以调音量、翻页面或者加一块 0.91 寸 OLED 小屏幕显示当前层数和 CapsLock 状态。这些外设都是 RS232 级别的基础通信焊接难度不高却能让键盘瞬间有了终极装备的气质。OpenRIG 的好玩之处正在于此它不像量产键盘那样给你一个完整到无需思考的答案而是把所有选择都摊开在你面前。选中这项目之后你被迫去理解矩阵、理解固件、理解焊接工艺而这个过程才是真正让人上瘾的部分。我已经把手里这把改了三版 keymap加了旋钮和一块小屏幕接下来打算再做一把左右完全对称的版本试着只用一颗主控驱动两边继续跟它较劲。