A professional-grade, distributed vehicle security system. This project bridges a battery-powered mobile sensor unit with a mains-powered house siren using Home Assistant and ESPHome.
- The Sensor (Car Unit): A LILYGO T-Display S3 with LD2410C Human Presence Radar and an SW-420 Vibration Sensor. Automatically charges via a switched USB source; enters deep sleep 30 seconds after the car is parked to preserve LiPo health.
- The Brain (Home Assistant): Manages global logic, time-of-day scheduling, and Frigate NVR camera integration.
- The Alarm (House Unit): A headless ESP32-WROOM-32 controlling a 12V DC Siren via a 5V Relay. Features a high-reliability hardwired "Wall Kill" button.
car_security_tdisplay_s3.yaml: Sensor unit config (Vibration + Radar + Power Management).house_siren_wroom32.yaml: Headless siren controller with "Safe Pin" relay logic and status LED.ha_automations.yaml: Main Home Assistant logic, scheduling, and notification engine.frigate_notify_automate.yaml: Advanced automation for sending Frigate video clips on trigger.dashboard.md: Full UI configuration (Mushroom Cards) for the security console.system_control_card.yaml: Raw YAML for the main dashboard status and control card.frigate_live_view.yaml: Dashboard configuration for real-time camera integration.frigate_nvr_integrate.md: Documentation for connecting Frigate events to the alarm triggers.zigbee_kill_button.yaml: Optional automation for remote Zigbee-based silencing.alarm_3d_case_designs.svg: Blueprints for PETG (Car) and ASA (Siren) enclosures.
- ESP32 Microcontroller: LILYGO T-Display S3 (Dual-core ESP32-S3 with 1.9" LCD)
- Presence Sensor: LD2410C mmWave Radar
- Vibration Sensor: SW-420 Motion Sensor
- LiPo Battery: 3.7V 2000mAh LiPo Battery (JST 1.25mm)
- Car Power Interface: 12V to USB-C Step-Down Converter
- USB Cable: 90-Degree Right Angle USB-C Cable
- ESP32 Microcontroller: ESP32-WROOM-32 DevKit (Standard 30-pin)
- 5V Relay: 5V One-Channel Relay Module (Opto-isolated)
- 12V Siren: 12V DC Wired Indoor/Outdoor Siren
- Siren Power: 12V 2A DC Power Supply Adapter
- Siren Kill Switch: Push Button Switch (For "Wall Kill" extension)
| Component | ESP32 Pin | Logic / Notes |
|---|---|---|
| Relay VCC | 5V / VIN | Powers the relay coil |
| Relay GND | GND | Common ground |
| Relay IN | GPIO 13 | Trigger (Safe pin) |
| Wall Kill Button | GPIO 14 | Connect to GND to trigger |
| Status LED | GPIO 2 | Internal Blue LED (Pulses on Alarm) |
| Component | ESP32 Pin | Logic / Notes |
|---|---|---|
| Vibration (SW-420) | GPIO 1 | Hardware Wake-up Pin |
| Radar TX (LD2410) | GPIO 3 | ESP RX ← Sensor TX |
| Radar RX (LD2410) | GPIO 2 | ESP TX → Sensor RX |
| Battery Voltage | GPIO 4 | 100k/100k Voltage Divider |
| USB Power Sense | GPIO 43 | Internal (Auto-Sleep Logic) |
| LCD Backlight | GPIO 38 | Internal (Screen Dimming) |
The Car Unit is designed for Zero-Maintenance Operation:
- Ignition Sync: Detects USB power (GPIO43), stays awake, and charges.
- Parked Security: Enters Deep Sleep 30s after car off. Wakes on vibration to alert Home Assistant.
- Local Display: Dashboard controls in Home Assistant.
- Hardwired: GPIO14 physical "Wall Kill" button on the siren unit.
- Mobile: Actionable video notifications on your phone.
- Radar Calibration: Tune LD2410 Gate Sensitivity in ESPHome to ignore movement outside car glass.
- Power Logic: Unplug USB-C; verify the unit enters Deep Sleep and wakes on movement.
- Siren Safety: Verify the 60-second auto-timeout script works to prevent permanent siren noise.
The house unit switches 12V DC only. Do not attempt to switch mains AC (120V/240V) directly with these relay modules. Ensure all 12V lines are fused.
