PicoMK:为RP2040定制的机械键盘固件

PicoMK:为RP2040定制的机械键盘固件

PicoMK Configurable firmware for RP2040 powered mechanical keyboard PicoMK 项目地址: https://gitcode.com/gh_mirrors/pi/PicoMK

项目介绍

PicoMK 是一款为 Raspberry Pi Foundation 的 RP2040 微控制器设计的高度可配置的机械键盘固件。RP2040 芯片具备两个 Cortex-M0 处理器,基于 FreeRTOS 的 smp 分支,PicoMK 支持在 RP2040 上进行多核执行。当前,它为以下键盘板提供动力:

项目技术分析

PicoMK 的核心是利用 RP2040 的双核特性,通过 FreeRTOS 的 smp 分支实现多核执行,从而优化机械键盘的性能。它具备以下技术特点:

  • 支持配置多个层的可定制键位图,并在编译时进行验证。
  • 支持全键无冲(NKRO)。
  • 通过 C++ 注册实现自定义功能。
  • 支持多种外设,如旋转编码器、SSD1306 OLED 显示屏、操纵杆、WS2812 LED 等。
  • 自带运行时配置菜单,需要屏幕支持。可以实时通过按键或旋钮更改键盘配置。

项目技术应用场景

PicoMK 适用于多种场景,包括但不限于:

  • 自定义机械键盘开发。
  • 为 Raspberry Pi 或类似平台打造高性能输入设备。
  • 在教育或原型设计项目中作为交互组件。
  • 结合多种外设进行创意项目开发。

项目特点

PicoMK 的主要特点如下:

  1. 高度可配置性:用户可以根据自己的需求自定义键位图、外设配置等。

  2. 多核支持:利用 RP2040 的双核特性,提高固件的响应速度和性能。

  3. 丰富的外设支持:支持多种外设,使项目具有更高的灵活性和扩展性。

  4. 实时配置菜单:允许用户在不重启设备的情况下实时调整配置。

  5. 多板通信协议(IBP):支持不同板间通信,例如 Pico 与 Pi Zero。

  6. 优化性能:通过自定义键位图和外设配置,减少资源占用,提高效率。

快速上手

PicoMK 的安装和配置过程简单直观,以下是快速上手指南:

获取代码

首先,确保您的系统为 Linux(包括 Raspbian)、Windows WSL 或 MacOS。然后,安装 pico-sdk 的依赖:

  • 对于 Arch Linux:

    pacman -S git cmake arm-none-eabi-gcc
    
  • 对于 Ubuntu:

    sudo apt update
    sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential libstdc++-arm-none-eabi-newlib
    
  • 对于 Raspbian:

    sudo apt install wget
    wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
    chmod +x pico_setup.sh
    ./pico_setup.sh
    
  • 对于 Alpine:

    apk add git cmake gcc-arm-none-eabi newlib-arm-none-eabi
    
  • 对于 MacOS:

    # 安装 Homebrew
    /bin/bash -c "$(curl -fsSL
    https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
    
    brew install cmake
    brew tap ArmMbed/homebrew-formulae
    brew install arm-none-eabi-gcc
    
    # 对于 M1 Mac 仅需:安装 Rosetta 2
    /usr/sbin/softwareupdate --install-rosetta --agree-to-license
    

然后,克隆代码:

git clone https://github.com/zli117/PicoMK.git
cd PicoMK
git submodule update --init && git -C pico-sdk submodule update --init

构建固件

要创建自定义固件,可以复制 configs/ 文件夹中的现有配置。本指南中,我们将复制 configs/default 中的默认配置。

mkdir -p configs/tutorial/my_new_config
cp configs/default/* configs/tutorial/my_new_config

每个配置包含两个文件:config.hlayout.cc。请查看文件中的注释和文档以了解如何配置它们。

以下命令用于构建固件:

mkdir build
cd build
cmake -DBOARD_CONFIG=<board_config> ..
make -j 4

其中 <board_config> 是相对于 configs/ 文件夹的配置文件夹的路径。例如,要构建 configs/tutorial/my_new_config 配置,可以使用以下命令:

cmake -DBOARD_CONFIG=tutorial/my_new_config ..

成功构建固件后,可以在当前 (build/) 文件夹下找到 firmware.uf2 文件。将 RP2040 板(或其他 RP2040 板)放入引导模式(对于 Pico 板,只需按住 bootsel 按钮并重新插入 USB 线即可),将其作为 USB 存储设备挂载,如果尚未自动挂载。将 firmware.uf2 复制到存储设备文件夹中,然后即可使用。

更多关于如何自定义固件的不同部分的信息,请查阅文档。

未来路线图

PicoMK 的未来路线图包括以下功能:

  • 支持 USB 存储模式,用于导入和导出 JSON 配置文件。
  • 支持更多外设,如 SK6805、更大屏幕、LED 矩阵、触摸板等。
  • 实现 USB 集线器功能。
  • 将键盘作为 Wi-Fi 芯片使用(适用于 RPi2 及以下版本,但这是否过于疯狂?)

PicoMK 以其强大的功能和灵活性,为开发者提供了一种新的选择,以打造高性能的机械键盘和其他交互式设备。通过高度可配置的键位图、多核支持以及丰富的外设支持,PicoMK 无疑是机械键盘爱好者和开发者不容错过的项目。

PicoMK Configurable firmware for RP2040 powered mechanical keyboard PicoMK 项目地址: https://gitcode.com/gh_mirrors/pi/PicoMK

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙纯茉Norma

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值