
Setup, Goals, and Getting Started
R4W Development Team
(Aida, Joe Mooney, Claude
Code)
December 2025
By the end of this workshop, you will be able to:
rustup update stabler4w/
├── crates/
│ ├── r4w-core/ # Core DSP algorithms (421 tests)
│ ├── r4w-sim/ # HAL and simulation
│ ├── r4w-fpga/ # FPGA acceleration
│ └── r4w-sandbox/ # Waveform isolation
├── workshop/
│ ├── usrp/ # USRP exercises (01-09)
│ │ ├── configs/ # Device configurations
│ │ └── exercises/ # Rust exercise files
│ └── advanced/ # DSP deep dives (10-83)
Each exercise is a standalone Rust binary:
# Run with simulator (no hardware needed)
cargo run --example 01_device_discovery -- --simulator
# Run with real hardware
cargo run --example 01_device_discovery -- --device "uhd://type=b200"All exercises include: - Documentation header explaining concepts -
Working code you can modify - --help for options
| # | Exercise | Concepts |
|---|---|---|
| 01 | Device Discovery | Driver registry, enumeration |
| 02 | Basic RX | Spectrum analysis |
| 03 | Basic TX | Signal generation |
| 04 | Loopback | Attenuator, TX→RX |
| 05 | LoRa TX | CSS modulation |
| 06 | LoRa RX | Preamble detection, demod |
| 07 | Over-the-Air | Full link testing |
| 08 | Timing Sync | PPS, GPSDO, multi-device |
| 09 | Sensitivity | Automated SNR sweep |
| Part | Topic | Exercises |
|---|---|---|
| 1 | DSP Fundamentals | 10-13 |
| 2 | Modulation | 20-23 |
| 3 | Synchronization | 30-33 |
| 4 | Channel Effects | 40-43 |
| 5 | Error Control | 50-53 |
| 6 | Protocols | 60-63 |
| 7 | Performance | 70-73 |
| 8 | Custom Waveforms | 80-83 |
cargo doc --openrg "pattern" crates/# With simulator
cargo run --example 01_device_discovery -- --simulator
# With hardware
cargo run --example 01_device_discovery