Remote blinky on nRF52 using Rust
summary
Builds a remote blinky on nRF52 with Rust using the radio at 2.4 GHz (IEEE 802.15.4 style) to send tiny commands between two boards; sets up two devices each with a button and LED, debounces at ~10 ms, blinks for 1 second, and uses one of 16 radio channels. Uses the community nrf-hal crate, configures the external oscillator so the radio works, and contributes a non-blocking receive PR to handle concurrent button and radio events; the live demo works.
AI-written summary · about
chapters (30)
- 0:00Introduction
- 1:58Project overview
- 3:00Why Rust for embedded
- 5:09Assumptions and Rust basics
- 6:15Button abstraction
- 8:32LED abstraction
- 9:35Call for Nordic support
- 10:41Radio initialization
- 13:13Non-blocking receive
- 18:41Superloop and events
- 21:35Button and LED logic
- 23:25Live demo
- 24:54Why embedded Rust matters
- 25:42Compile-time safety
- 26:43Cargo and tooling
- 27:29Async features
- 28:10Type-state and traits
- 29:35Tools and community
- 30:40Rust vs C++
- 33:13Interrupts and state
- 35:30Contributing to libraries
- 36:35Pain points
- 37:43Safe and unsafe code
- 39:10Alternatives and async
- 40:17Code and future plans
- 41:05Migrating from C
- 43:34Embedded HAL support
- 45:03Vendor models
- 46:53Zephyr and Rust
- 47:13Closing and Q&A
related talks
04mLightning Talk - Embedded Rust
46mIntroduction to Embedded Rust
29mA Rust-based Runtime for the Internet of Things
28mSensors, Servos, and Signals with Rust
12mEmbedded Rust and LoRaWAN
36mBlink them to death using Embedded Swift
41mRust Meets Zephyr: Building Safer Embedded Applications
01h 03mZephyr RTOS: Software power tools for constrained devices
