Eric Park built a reed-switch-triggered WS2812B LED array on a Digispark ATtiny85 graduation cap, writing firmware in Rust despite upstream hal support gaps.
Key Takeaways
Stack: ATtiny85 (Digispark), 48 WS2812B LEDs, reed switch + magnet for tassel detection, USB-C PD trigger board, power bank.
avr-hal and ws2812-avr lack ATtiny85 support out of the box; Park forked both and patched default clock speed to 16 MHz.
Hardware assembly took 3+ hours vs ~2 hours for firmware; title commitment was the stated reason for choosing Rust over Arduino libraries.
Code is public: github.com/ericswpark/gradcap-rs.
He decided not to wear it at the actual ceremony.
Hacker News Comment Review
Commenters largely accepted the Rust choice as justified by the title bit, treating it as a fair trade for the blog post hook rather than a serious architectural decision.
Thread spent notable energy on US graduation rental economics ($94 cap-and-gown rental, aliexpress arbitrage angle) rather than the firmware.
One commenter flagged a pedantic but real point: the device technically runs AVR-RISC, not Rust at the ISA level.
Notable Comments
@anilakar: ATtiny85 USB boards cost ~$2 each and are practical for any project needing 1-5 GPIOs or HID.
@nDRDY: “Technically it runs AVR-RISC” – worth noting if you repeat the title claim literally.