待补充 HaoboGu/rmk

ESP32 3/5 🧩 软硬件结合 已发布
HaoboGu 716 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/5
待补充

项目简介

Rust keyboard firmware library with layers, macros, real-time keymap editing, wireless(BLE) and split support


RMK 是一个用 Rust 语言编写的功能丰富的键盘固件项目,旨在为机械键盘爱好者、DIY 玩家和嵌入式开发者提供一套现代化、高性能且易于定制的键盘固件解决方案。该项目基于 embassy 异步运行时框架,实现了对多种主流微控制器的广泛支持,包括 stm32、nRF、rp2040(w) 和 esp32 等,让用户能够自由选择硬件平台进行开发。

标签

项目特点

**多平台支持**:兼容 stm32、nRF、rp2040(w)、esp32 等多种主流微控制器,硬件选择灵活。
**Rust 语言驱动**:基于 Rust 和 embassy 异步运行时,提供高性能、内存安全的固件体验。
**丰富功能**:支持全键无冲、多层键位、旋钮编码器、RGB 灯光、VIA 实时配置等。
**易于定制**:通过简单的配置文件即可自定义键位映射、灯光效果和键盘布局。
**现代化架构**:采用异步编程模型,支持低功耗模式和 USB HID 协议,适合嵌入式开发场景。
**活跃社区**:开源项目,持续更新,有详细的文档和示例代码。

技术规格

编程语言 Rust
运行时框架 embassy 异步运行时
支持 MCU stm32、nRF、rp2040(w)、esp32
键盘功能 全键无冲、多层键位、旋钮编码器、RGB 灯光
配置方式 VIA 实时配置、配置文件自定义
通信协议 USB HID
功耗管理 支持低功耗模式
开发环境 Rust 工具链、cargo、probe-rs

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
stm32/nRF/rp2040/esp32 开发板 1 根据所选平台选择
机械轴体 按键盘布局 如 Cherry MX、Gateron 等
1N4148 或类似 按按键数量 用于矩阵扫描
10kΩ 电阻 若干 上拉电阻
100nF 电容 若干 去耦电容
USB-C 接口 1 用于供电和数据传输
旋钮编码器 可选 用于音量控制等
RGB LED 可选 如 WS2812B,用于灯光效果

能力画像

**记忆与知识检索**:3/5 — 需要查阅 Rust 和 embassy 文档,以及键盘固件相关技术资料。
**动手与操作**:4/5 — 需要焊接电路板、组装键盘硬件,以及使用烧录工具。
**编程与算法**:4/5 — 需要编写和修改 Rust 代码,理解异步编程和键盘扫描算法。
**设计与建模**:2/5 — 如果自制外壳,需要 3D 建模能力,但非必需。
**实验与调试**:4/5 — 需要调试固件问题、测试硬件连接,使用 probe-rs 等工具。
**协作与分享**:3/5 — 可以参与开源社区,提交 issue 或 PR,分享自己的键盘配置。
**学习与研究**:4/5 — 需要学习 Rust 语言、embassy 框架和键盘固件原理。
**系统集成**:3/5 — 需要将硬件、固件和配置集成到一个完整的键盘系统中。

所需技能

Rust 编程基础 嵌入式开发基础(了解微控制器和 GPIO) 电路焊接和硬件组装能力 使用命令行工具(cargo、probe-rs) 阅读英文技术文档的能力 基本的电子电路知识(二极管、电阻、电容)

适用场景

机械键盘 DIY 爱好者想要打造自定义键盘
嵌入式开发者学习 Rust 和异步编程
需要高性能、低延迟键盘固件的游戏玩家
想要实现复杂键盘功能(如宏、多层键位)的用户
开源硬件和固件项目的贡献者和学习者
需要低功耗无线键盘方案的物联网项目