My graduation cap runs Rust

· coding · Source ↗

TLDR

  • 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.

Original | Discuss on HN