Fearless Single-Photon Detection: Leveraging Rust for Scientific Instruments
summary
Rust runs the whole instrument stack: async firmware on microcontrollers using Embassy on STM32, a Linux main controller built with Yocto and meta-rust, and autogenerated Python and TypeScript bindings from a JSON5 spec; microcontrollers talk to the main unit over CAN with postcard serialization. The detector chips achieve 80% efficiency and timing of a few picoseconds while operating near 2 K, and a WebSocket API supplies real‑time events—everything is built, integrated, and working in deployed lab units.
AI-written summary · about
chapters (15)
- 0:00Single-photon detectors and Rust
- 1:04Photon detection challenges
- 3:29SNSPDs for high-efficiency detection
- 5:32Why Rust for scientific instruments
- 8:03Rust-based detector system architecture
- 10:49Embedded Linux and Rust on control unit
- 13:18Lab instrument communication interfaces
- 16:08SCPI standard and API design
- 19:39Multiple APIs from one spec
- 21:46Code generation for Rust, Python, TypeScript
- 23:09STM32 firmware in Rust
- 25:17Rust drivers for unsupported hardware
- 27:43Sync vs async in embedded drivers
- 30:11Rust in production: challenges and benefits
- 32:59Q&A on CAN bus, serialization, vendor support
related talks
28mSensors, Servos, and Signals with Rust
34mBe Fearless Using Rust in Production
16mRust, For Science!
30mKeeping humans safe around robots with Rust
27mConsidering Rust for scientific software
30mUnder a Microscope: Exploring Fast and Safe Rust for Biology
29mRust: Embedded, Async, All the Way
41m"Rust for Robotics: Safer, Faster Systems for Autonomous Applications"
