Linux内核作者Linus Torvalds在GitHub上向来以低调著称,但他的个人仓库里偶尔会出现一些有趣的项目。最近曝光的ScrollWheel就是一个典型的例子:这是一个基于RP2350(树莓派Pico 2)芯片的极客小制作,功能是做一个滚轮控制器——通过旋转编码器控制电脑音量。

ScrollWheel的技术实现相当硬核。项目使用C语言编写(占85.3%),构建系统为CMake(12%)和Makefile(2.7%)。核心硬件包括AS5600磁性角度传感器用于旋转输入,WS2812 RGB LED用于视觉反馈,通过USB HID协议与电脑通信。这些组件组合在一起,实现了通过物理滚轮控制音量的功能。
这个项目最值得关注的地方在于它的定位——这不是一个开箱即用的产品,而是一个需要适配的实验性项目。Torvalds在项目中明确说明,不同电路板上的GPIO引脚分配各不相同,需要手工调整。这与当下追求"即插即用"的消费电子产品形成了鲜明对比。一个成品度的滚轮控制器在淘宝上可能几十元就能买到,但Torvalds选择自己用芯片搭建——这更多是一种技术乐趣而非实际需求。
从树莓派生态的角度看,RP2350是一个值得关注的新芯片。它是树莓派基金会在2024年推出的双核ARM芯片,配备RISC-V协处理器,相比上一代Pico有更强的计算能力和更丰富的外设接口。ScrollWheel项目主要面向Pimoroni Tiny 2350等搭载RP2350的开发板,这些板子通常带有Qwiic连接器,方便接传感器和执行器。

ScrollWheel还集成了tinyusb协议栈,这是嵌入式领域常用的USB Device固件库,支持多种USB设备类,包括HID。这意味着当ScrollWheel连接到电脑时,会被识别为一个HID设备(类似键盘或鼠标),不需要安装额外的驱动程序。这种设计思路体现了嵌入式开发的经典模式:硬件做底层,USB做传输,HID做交互,操作系统原生支持。
目前ScrollWheel在GitHub上获得了244颗star和8个fork。对于一个标注为"实验性"的个人项目来说,这个关注度不算低。考虑到Torvalds本人的影响力,这个项目更像是一种技术示范——展示如何用RP2350和几个基础组件快速搭建一个可用的USB外设,而不是试图成为一个商业产品。嵌入式开发者可以从中了解USB HID设备的设计模式和RP2350的PIO编程方法。
ScrollWheel 仓库地址: https://github.com/torvalds/ScrollWheel