94 美元,租一套毕业帽袍,还必须归还。

Eric Park 第一次参加美国大学毕业典礼,先被这套规则上了一课:帽袍不是买,是租;不穿,就不能参加典礼。然后他盯上了那个规定动作——毕业时把流苏从右拨到左。

既然流程已经写死,能不能在流程边上加一点自己的东西?

于是有了这顶“跑 Rust 的毕业帽”。流苏一动,帽子底部的灯亮起来。很小,很怪,也很开发者。

这不是产品发布,是一个完整的小黑客项目

这个项目的逻辑很简单:用簧片开关和磁铁检测流苏移动,再让 LED 灯带触发效果。

它不是严肃产品,也不是 Rust 生态大新闻。更准确的说法是:一个毕业季 maker 玩具,被作者做得相当完整。

部分配置
控制器Digispark ATtiny85
灯光48 颗 WS2812B LED
触发方式簧片开关 + 磁铁,检测流苏位置变化
供电USB-C PD 触发板、充电宝、USB-C 线
软件Rust,代码开源在 gradcap-rs
结果做出来了,但作者不打算戴去典礼

软件大约花了 2 小时。麻烦不在写灯效,而在工具链。

avr-halws2812-avr 对 ATtiny85 支持不够顺手。作者 fork 之后打补丁,还把默认时钟设到 16 MHz。

硬件花了 3 小时以上。供电、固定、接线、调试,都比“让灯亮”更烦。作者也直接吐槽:谁说硬件容易,要么错了,要么没做过定制硬件。

最有喜感的是结尾。他最后不准备把它戴去毕业典礼。

理由很朴素:效果有点俗。像儿童眼里的游戏 PC,也像长辈眼里的“癫痫灯”。

这句自嘲很关键。它把项目从“炫技”拉回了人间:做出来是一回事,敢不敢戴出去,又是另一回事。

Rust 不是省事路线,硬件玩家别只看标题

如果只按效率算,Rust 很可能不是这顶帽子的最短路径。

用 Arduino 生态,可能更快。换 ESP32,算力和生态更宽裕,但对一顶毕业帽来说又有点过。板子、供电、固定方式都会变成新问题。

路线好处现实约束
Rust + ATtiny85标题好玩,足够极客,能验证嵌入式 Rust 的边界工具链补丁、芯片支持、调试成本更高
Arduino 生态上手快,资料多,灯带项目成熟少一点“我就要这么写”的乐趣
ESP32性能宽裕,开发体验更现代对毕业帽偏重,固定和供电未必更省事

作者选 Rust,很大程度就是为了那个标题:My graduation cap runs Rust。

这不是黑点。个人项目的价值经常不在最优解,而在动手过程。绕远路,有时就是乐趣本身。

对开发者,这个项目的动作建议很明确:别把它当成“嵌入式 Rust 已经丝滑”的证据。更合适的读法是,想玩可以玩,但要预留时间给 fork、补丁、时钟配置和库兼容。

对硬件玩家,也别低估尾部工作。灯亮只是中场。真正耗人的,是供电是否稳、线怎么藏、板子怎么固定、帽子是否还能正常戴、租来的东西能不能不留痕。

接下来最该看的变量也不玄:小 MCU 上的 Rust 支持能不能少一点手工补丁,WS2812B 这类常见外设能不能更接近开箱即用。如果每个小玩具都要先修工具链,Rust 的乐趣会被磨掉一半。

毕业帽会发光,戳到的是标准化生活

我更在意的不是 Rust,也不是 LED,而是它发生在毕业典礼上。

美国高校的帽袍租赁,是一套很成熟的仪式消费:付钱、穿上、排队、拍照、归还。学校要秩序,供应商要收入,学生要参与感。每一方都能说自己合理。

问题也在这里。仪式越成熟,个人越像被塞进模板。

“天下熙熙,皆为利来。”这句话放在毕业帽袍上不算夸张。它不是说学校多坏,而是提醒我们:庄重仪式背后,常常也有收费接口、准入规则和统一视觉。

maker 文化偏偏不安分。

它不一定要推翻什么。很多时候,只是往统一模板上焊一根线,贴几颗 LED,写一段没那么必要的 Rust。动作很轻,但意思很清楚:我知道规则在这里,可我还想确认,自己能不能改一点。

这不是系统性抗议。作者没有说 Purdue 官方禁止这个装置,也没有真的戴着它上台。他也没有纵火,没有破坏租赁帽袍。原文的语气更像调侃:别把租来的东西搞坏,别把典礼变成事故现场。

所以这件事的分寸感很重要。

它不是反抗制度的大旗。它更像一次温和的越界练习。边界不宽,但足够让人看见一个活人。

喜欢科技博客锐评的读者,可以把它当成一个小样本:技术不总是产业发布会上的资本开支,也不总是模型参数和融资叙事。技术还可以是一个人拿来处理无聊、尴尬和标准化生活的手艺。

这也是它比“毕业帽会发光”更有意思的地方。

灯效俗一点没关系。真正难得的是,在一套必须付费、必须归还、必须按流程走的仪式里,还有人愿意花几个小时,把自己的手伸进去。