ESP32 + 24 GHz Presence Radar (LD2410C) + Servo Scanner
Built a compact radar scanner with the LD2410C module on ESP32, adding a pan servo and LCD “PPI-style” UI to visualize target strength and angle in real time.
Objective
Create a low-cost presence radar that scans a room and renders signal strength by angle, suitable for demos and occupancy analytics. Priorities: clean UART parsing, stable servo motion, and a readable on-device UI.
System Architecture
- MCU: ESP32 (Arduino framework), UART @115200 to LD2410C.
- Radar: HLK-LD2410C 24 GHz FMCW presence sensor (distance, energy, motion flags).
- Actuation: SG90/mini servo with eased sweep and dwell; debounced limits.
- UI: 1.8–2.4″ SPI LCD showing polar plot (angle vs strength) with trail/fade.
- Smoothing: median + EMA on amplitude; outlier rejection on spike frames.
Firmware Notes
- Binary frame parser for LD2410C (header → payload → CRC) with ring buffer and resync on error.
- Polar buffer (0–180°) updated per sweep; exponential fade to retain history.
- Servo motion profiled (ease-in/out) to reduce overshoot and LCD tearing.
- Performance: ~15–20 FPS UI refresh at 40–60°/s sweep speeds.
Results
- Reliable presence detection 0.3–5 m with stable amplitude trace after smoothing.
- Angular visualization helps distinguish stationary clutter vs. moving targets.
- Portable demo unit: USB-powered, 3D-printed bracket, quick setup.