rootiest 1deefb1d70 feat: initial commit
Initial commit including source code, readme, and license.
2026-03-02 16:10:16 -05:00
2026-03-02 16:10:16 -05:00
2026-03-02 16:10:16 -05:00
2026-03-02 16:10:16 -05:00
2026-03-02 16:10:16 -05:00
2026-03-02 16:10:16 -05:00

60Hz Heartbeat Presence

An ESPHome configuration for the Seeed Studio MR60BHA2 mmWave Sensor Kit — a contactless vital signs and human presence detection device running on the XIAO ESP32C6.

Overview

This device uses 60GHz millimeter-wave radar to detect human presence and monitor vital signs without physical contact. It integrates directly with Home Assistant and supports Thread mesh networking.

Monitored metrics:

  • Human presence (occupancy)
  • Heart rate (BPM)
  • Respiratory rate (breaths/min)
  • Distance to detected person (cm)
  • Number of targets detected
  • Ambient illuminance (lux)

Hardware

Component Description
MCU Seeed Studio XIAO ESP32C6
mmWave Sensor Seeed Studio MR60BHA2 (60GHz)
Light Sensor BH1750 (I²C, 0x23)
LED WS2812 RGB LED (single, GPIO1)

Pin Assignments

Interface Signal GPIO
UART (MR60BHA2) RX 17
UART (MR60BHA2) TX 16
I²C (BH1750) SDA 22
I²C (BH1750) SCL 23
LED Strip Data 1

UART: 115200 baud, 8N1

Features

Presence-gated vital signs — Heart rate and respiratory rate sensors only publish data when a person is detected. Values reset to zero automatically when the area is vacant, preventing stale readings.

Non-invasive detection — The 60GHz radar works through non-conductive materials and requires no skin contact. Suitable for discreet installation behind walls or panels.

Thread / OpenThread support — Mesh networking capable for resilient home automation networks.

OTA updates — Firmware can be updated over-the-air via the ESPHome dashboard.

RGB status LED — Single addressable WS2812 LED, controllable from Home Assistant.

Requirements

  • ESPHome ≥ 2024.3.2
  • Home Assistant (for API integration)
  • secrets.yaml with the following keys:
wifi_ssid: "YourNetwork"
wifi_password: "YourPassword"
api_encryption_key: "<base64-encoded 32-byte key>"
ota_password: "your-ota-password"
openthread_dataset: "<Thread TLV dataset>"  # optional

External Component

The MR60BHA2 UART driver is sourced from:

limengdu/MR60BHA2_ESPHome_external_components

ESPHome fetches this automatically at build time — no manual installation required.

Installation

  1. Clone this repository.
  2. Create secrets.yaml with the values above.
  3. Flash the device via USB:
    esphome run heartbeat60hz.yaml
    
  4. Subsequent updates can be done OTA through the ESPHome dashboard or CLI.

After flashing, the device will appear in Home Assistant via mDNS auto-discovery.

Home Assistant Entities

Once adopted, the following entities are available:

Entity Type Unit
Occupancy Binary Sensor
Heart Rate Sensor BPM
Respiratory Rate Sensor BPM
Distance Sensor cm
Target Count Sensor
Illuminance Sensor lx
RGB LED Light

Fallback Access Point

If Wi-Fi is unavailable, the device broadcasts a fallback hotspot:

  • SSID: seeedstudio-mr60bha2
  • IP: 192.168.4.1

Use this to reconfigure Wi-Fi credentials via the ESPHome captive portal.

Project Info

Field Value
Device name heartbeat60hz
ESPHome project seeedstudio.mr60bha2_kit v3.5
Framework ESP-IDF
Min ESPHome 2024.3.2
S
Description
ESPHome configuration for the Seeed Studio MR60BHA2 mmWave Sensor Kit
Readme 40 KiB