By combining the ESP32C3 and the smart LD2410C to work together, and using the excellent and flexible ESPHome firmware, we can now make HomeAssistant easily sense the human body, and track distance and energy value changes easily through Bluetooth and the configuration APP (HLKRadarTool) combined with radar , allowing you to adjust the range of activities you want to perceive very flexibly and conveniently.
The product uses Type-C power supply, which is very convenient.
Using a well-designed 3D printed shell (designed by CSZ), it can be easily pasted on the wall, and the side with the Logo is facing the direction you want to sense. From then on, your HA can flexibly sense people coming and going up.
feature of product:
- Using ESP32C3, it has better RF signal and better signal stability.
- Well-tuned Esphome firmware, the signal is more stable, and it can make C3 work better.
- Support serial network configuration (improv_serial)
- Quickly access HomeAssistant, automatically scan for new devices, and add them quickly.
- Get the brightness of daylight by reading the photoresistor on the radar.
Instructions:
- After power on, use the default AP hotspot (SCREEK HUMAN-SENSOR) to configure the network. The default AP does not have a password, just connect directly.
- After configuration, HomeAssistant in the same LAN can discover the device and complete the addition.
- Use the mobile phone APP that comes with the radar to configure the APP parameters through Bluetooth.
We made extra kits besides our own use, so if you like our design, we can send it all over the world
base yaml source:
esphome:
name: screek-humen-dectet-1w
comment: Screek Human Presence Sensor 24GHz PS-HPS
friendly_name: Screek Human Presence Sensor
name_add_mac_suffix: True
platformio_options:
board_build.flash_mode: dio
project:
name: Screek.Human_Presence_Sensor
version: 1W
esp32:
board: esp32-c3-devkitm-1
improv_serial:
logger:
api:
ota:
password: "OTA_PASSWORD"
wifi:
power_save_mode: NONE
# output_power: 20dB
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "SCREEK HUMAN-SENSOR"
captive_portal:
web_server:
port: 80
binary_sensor:
- platform: status
name: Online
id: ink_ha_connected
- platform: ld2410
has_target:
name: Presence
has_moving_target:
name: Moving Target
has_still_target:
name: Still Target
sensor:
- platform: template
id: sys_esp_temperature
name: ESP Temperature
lambda: return temperatureRead();
unit_of_measurement: °C
device_class: TEMPERATURE
update_interval: 30s
entity_category: "diagnostic"
- platform: uptime
name: Uptime
id: sys_uptime
update_interval: 10s
- platform: wifi_signal
name: RSSI
id: wifi_signal_db
update_interval: 1s
entity_category: "diagnostic"
- platform: template
id: esp_memory
icon: mdi:memory
name: ESP Free Memory
lambda: return heap_caps_get_free_size(MALLOC_CAP_INTERNAL) / 1024;
unit_of_measurement: 'kB'
state_class: measurement
entity_category: "diagnostic"
- platform: ld2410
moving_distance:
name : Moving Distance
id: moving_distance
still_distance:
name: Still Distance
id: still_distance
moving_energy:
name: Move Energy
still_energy:
name: Still Energy
detection_distance:
name: Detection Distance
light:
# - platform: status_led
# name: sys_status
# pin: GPIO12
# internal: True
# restore_mode: ALWAYS_OFF
# - platform: status_led
# name: sys_status
# pin: GPIO13
# internal: True
# restore_mode: ALWAYS_OFF
time:
- platform: sntp
id: time_now
servers:
- ntp.aliyun.com
uart:
id: uart1
tx_pin: GPIO5
rx_pin: GPIO4
baud_rate: 256000
parity: NONE
stop_bits: 1
ld2410:
timeout: 150s
id: ld2410_radar
# max_move_distance : 6m
# max_still_distance: 0.75m
# g0_move_threshold: 10
# g0_still_threshold: 20
# g1_move_threshold: 10
# g1_still_threshold: 20
# g2_move_threshold: 20
# g2_still_threshold: 21
# g3_move_threshold: 30
# g3_still_threshold: 31
# g4_move_threshold: 40
# g4_still_threshold: 41
# g5_move_threshold: 50
# g5_still_threshold: 51
# g6_move_threshold: 60
# g6_still_threshold: 61
# g7_move_threshold: 70
# g7_still_threshold: 71
# g8_move_threshold: 80
# g8_still_threshold: 81
button:
- platform: restart
icon: mdi:power-cycle
name: "ESP Reboot"
- platform: factory_reset
disabled_by_default: True
name: Factory Reset
id: factory_reset_all
and the 3d case stl file is here:
3d case