One Jetson AGX Orin runs the whole system.
A single Jetson AGX Orin 64 GB terminates up to eight Valens A-PHY endpoints and runs the entire real-time pipeline — ingest, signal processing and outputs on one module.
Ingest without detours.
Up to eight long-reach links land at the Valens deserializer bank, cross into C-PHY trios and flow through NVCSI, VI and DMA straight into V4L2 buffers — no TCP, no userspace hop.
Four layers, kernel to browser.
The radar rides the Tegra camera stack: a kernel driver presents IQ frames as video devices, and two Rust applications take it from there.
Tegracam V4L2 driver
- Radar frames as camera frames: RAW12 12-bit IQ (FourCC RG12 — not Bayer)
- Two driver modes: 2048×384 (1.13 MB/frame) and 2048×1536 (4.5 MB/frame)
- bypass_i2c=1 — the real chirp config travels over SPI from the STM32; frame rate 10–100 Hz set by framePeriodicity, not the driver
Device tree & SerDes
- Device-tree overlays describe sensors, lanes and modes to the Tegra capture stack
- Valens SerDes configuration brings up each A-PHY link and its virtual channels
- Endpoint count is a parameter — the same image serves 1 to 8 subarrays
radar-cli
- One Rust binary: I²C control, V4L2 capture, WebSocket bridge and browser UI
- Hot-swaps the 8 tested measurement presets at runtime: pause → reconfigure → resume
- Capture & replay — record raw streams, play them back into the pipeline
radar-processor
- Six DoA methods — Bartlett, Capon, MUSIC, OMP, ISTA, IHT — plus CFAR, DBSCAN and IMM tracking
- Own browser app for live views; CUDA backend for the full aperture
- Capon runs strictly per subarray; the cross-coherent aperture feeds advanced processing
Measured, not estimated.
Every number below comes off the bench — the compact profile on CPU, the full 3072-antenna configuration on CPU and CUDA.
- COMPACT · 192 ANT · CPU
- 9–11 ms · 91–111 Hz · across 6 DoA methods
- FULL · 3072 ANT · CPU
- 39 ms · 25 Hz
- FULL · 3072 ANT · cuFFT
- ~27 ms · ~37 Hz
- cuFFT
- up to 5.2× · 512×3072 batch FFT
- VALIDATION
- 71 unit tests · CUDA rel_error < 1e-6
Point clouds out. Raw IQ in parallel.
The pipeline publishes tracked point clouds and 3D bounding boxes over ROS2, TCP or UDP — straight into Foxglove or Rviz. In parallel, the raw IQ stream stays accessible for your own algorithms.
Modular by design.
From a single subarray to the full 8-subarray system — architecture, firmware and software scale by configuration, not redesign. We serve any configuration on request.