mmWave Human Detection Sensor update issue

Hey All,

Just recieved my mmWave Human Detection Sensor Kit and hooked it upto home assistant. I’m having an issue where Existence Energy and Motion Energy do not update. When the device boots I get an initial value and then it does not change. This results in the sensor detection presence but then not clearing.

Motion detection works, I can see it continually moving from motion to motionless etc but the Energy levels do not work.

I can get a new energy value from either power cycling or resetting via the switch in homeassistant.

Any ideas on what’s wrong?

This is my yaml

substitutions:
  name: "nursery-mmwave"
  friendly_name: "nursery-mmwave"

esphome:
  name: "${name}"
  friendly_name: "${friendly_name}"
  project:
    name: "seeedstudio.mmwave_kit"
    version: "2.5"
  platformio_options:
    board_build.flash_mode: dio
    board_build.mcu: esp32c3

external_components:
  - source: github://limengdu/mmwave-kit-external-components@mmwave-kit-factory-bin
    refresh: 0s

esp32:
  board: esp32-c3-devkitm-1
  variant: esp32c3
  framework:
    type: esp-idf

# Enable logging
logger:
  hardware_uart: USB_SERIAL_JTAG
  level: DEBUG

wifi:
  ssid: !secret ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Nursery-Mmwave Fallback Hotspot"
    password: "<password>"

web_server:
  port: 80

# Enable Home Assistant API
api:
  encryption:
    key: "<password>"

ota:
  password: "<password>"


uart:
  id: uart_bus
  baud_rate: 115200
  rx_pin: 4
  tx_pin: 5
  parity: NONE
  stop_bits: 1

seeed_mr24hpc1:
  id: my_seeed_mr24hpc1
  mos_pin: GPIO21

text_sensor:
  - platform: seeed_mr24hpc1
    heart_beat:
      name: "Heartbeat"
    product_model:
      name: "Product Model"
    product_id:
      name: "Product ID"
    hardware_model:
      name: "Hardware Model"
    hardware_version:
      name: "Hardware Version"
    keep_away:
      name: "Active Reporting Of Proximity"
    motion_status:
      name: "Motion Information"
    custom_mode_end:
      name: "Custom Mode Status"

binary_sensor:
  - platform: seeed_mr24hpc1
    has_target:
      name: "Presence Information"

sensor:
  - platform: seeed_mr24hpc1
    custom_presence_of_detection:
      name: "Static Distance"
    movement_signs:
      name: "Body Movement Parameter"
    custom_motion_distance:
      name: "Motion Distance"
    custom_spatial_static_value:
      name: "Existence Energy"
    custom_spatial_motion_value:
      name: "Motion Energy"
    custom_motion_speed:
      name: "Motion Speed"
    custom_mode_num:
      name: "Current Custom Mode"

switch:
  - platform: seeed_mr24hpc1
    underly_open_function:
      name: Underlying Open Function Info Output Switch

button:
  - platform: seeed_mr24hpc1
    restart:
      name: "Module Restart"
    custom_set_end:
      name: "End Of Custom Mode Settings"

select:
  - platform: seeed_mr24hpc1
    scene_mode:
      name: "Scene"
    unman_time:
      name: "Time For Entering No Person State (Standard Function)"
    existence_boundary:
      name: "Existence Boundary"
    motion_boundary:
      name: "Motion Boundary"

number:
  - platform: seeed_mr24hpc1
    sensitivity:
      name: "Sensitivity"
    custom_mode:
      name: "Custom Mode"
    existence_threshold:
      name: "Existence Energy Threshold"
    motion_threshold:
      name: "Motion Energy Threshold"
    motion_trigger:
      name: "Motion Trigger Time"
    motion_to_rest:
      name: "Motion To Rest Time"
    custom_unman_time:
      name: "Time For Entering No Person State (Underlying Open Function)"

Make sure that the version of ESP-IDF (Espressif IoT Development Framework) used in your ESPHome configuration is compatible with your ESP32-C3 board and the mmWave components.

How do you check this compatiblity?
I appear to have the same issue.

Presence information keeps returning ‘detected’ and ‘Existence Energy’ never changes. Also, when I change configuration settings these do not seem to do anything. On refresh of the page in Home Assistance, the values return to their default values.

‘Motion information’ keeps changing in the log between active and motionless every few seconds, although there is nobody in the room.

Look here, almost at the bottom of the link and the other info , may help you.

HTH
GL :slight_smile: PJ

Thanks for your response, PJ_Glasso.

I have this in my configuration.

esp32:
  board: esp32-c3-devkitm-1
  variant: esp32c3
  framework:
    type: esp-idf

This seems to match with what is recommended.
Is something else needed for the mmWave kit?

version: recommended

I can add it and upload the firmware, but it does also say in your linked page that it defaults to recommended.

1 Like

Some versions look for it or bomb without it or an error, msg.:wink::v:
HTH
GL :smiley: PJ

Hey! I’ve added the version: recommended flag and am still having the same issue. I’m using the yaml from mmwave-kit-external-components/example/mr24hpc1.yaml at main · limengdu/mmwave-kit-external-components · GitHub and haven’t touched the internal hardware of the kit.

it’s still detecting presence, here’s a screenshot of the mmWave compared to an IKEA IR sensor I have in the same room

Hi there,
I’m no expert but do recall something about define’ing each Item function separately in the yamL
for ESp home to pick it up? ALso I would unplug it it for a solid ten minutes.(after)
and same with reading Leave it on for a few minutes before reading or sending any config.
HTH
GL :slight_smile: PJ

I can confirm this issue. The body movement just stays at 1 and thus the presence state.
I have fiddled around with the device for days and also updated esphome to the latest version and used the same yaml that you referenced.
I am giving up on that kit and will buy a different sensor which is sad as I thought seeed studio is delivering quality.

I did the same. Went with the Aqara Presence Sensor FP2 MmWave and it works good enough. Not perfect (sometimes doesn’t detect me while in the room), but 95% correct.

Still have the Seeed one, and hoping to get it working also.
The Aqara is double the price, but at least it works. :slight_smile:

Hello. We apologize for any inconvenience caused. Before using this kit, it is important to confirm a few key points:

  1. Could you please let us know what scenario you are setting up? Have you installed the mmWave correctly?

For more details, please refer to the datasheet.

  1. If you have already confirmed the correct installation method, please ensure that the measurement environment is a single-person indoor space. Please check whether the Active reporting of presence information is constantly reporting the data below regardless of the presence of a person:
    Report: 0x53 0x59 0x80 0x01 0x00 0x01 0x01 sum 0x54 0x43
    If it is, please try adjusting the sensitivity.

    https://files.seeedstudio.com/wiki/mmWave-radar/MR24HPC1_User_Manual-V1.5.pdf

Hope this will be helpful!

Hey all,

So the sensor works much better using one of the four presets and modifying the sensitivity. sensor is “sitting” on the thin side facing my daughter’s room, the idea is to keep lights on when she’s reading and not moving.

How should the sensor be orientated? sitting or large area facing the target?

My sensors still seem way too sensitive or they are broken. Even when laying straight down against the floor (which is pointed at the ground) I still get presence and motion detected. I have tried selecting the presets and adjusting sensitivity but it still doesnt work. I seriously regret my purchase and should have gotten the Aqara.

Hi there,
Sorry to hear your having issues , Do you have a picture you can post? Have you visually inspected them(not that you should be required to , but as a comment)
TY
GL :slight_smile: PJ

Hi - has anyone solved this issue? It seems like a software issue in that the presence is just a flag that is toggles by the various sensor conditions. My device is stuck in “detected”. Have fiddled with sensitivity and thresholds with no success. I have followed installation instructions exactly. @Seeed_Seraphina any suggestions other than “read the documentation?”