Embedded & Sensing | ESP32 • LD2410C • Servo

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.

ESP32 24 GHz radar scanner with LCD and pan servo

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.
LCD radar-style UI showing polar sweep and signal strength

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.
Pan servo mount with LD2410C radar module and ESP32

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.

Tools & Stack

Artifacts