Skip to content
MCU Atlas
ESP32ESP32-C3

whisli sense: ESP32 mmWave presence sensor with climate and light

A local presence sensor on a Waveshare ESP32-C3-Zero: an HMMD mmWave radar sees even a person sitting still, plus temperature, humidity and light, a browser panel and optional Home Assistant over MQTT. No licence in the repo.

Difficulty:Intermediate

What it is

A local room presence sensor whose mmWave radar notices even someone sitting still, plus temperature, humidity and light.

How hard

Intermediate. Four modules wired to 3.3 V, I²C and a UART, then a ready firmware flash from the browser and a short calibration.

Photos

whisli sense: ESP32 mmWave presence sensor with climate and light photo 1

Photos: tjaworski997/whisli-sense

Key Facts

  • Board: Waveshare ESP32-C3-Zero (4 MB flash, USB-C, WS2812 LED)
  • Radar: Waveshare HMMD mmWave, S3KM1110, 24 GHz, 16 gates of 70 cm (up to 11.2 m)
  • Climate and light: Sensirion SHT30 and ROHM BH1750 on I²C
  • Local web panel and JSON API; sensors find each other over mDNS, no hub
  • 1.5-minute calibration sets every radar gate's threshold
  • Optional Home Assistant via MQTT Discovery
  • Ready firmware in Releases, or build with PlatformIO
  • No licence file in the repo

About This Project

whisli sense, by Tomasz Jaworski (tjaworski997), is a room presence sensor that also notices someone sitting still: its 24 GHz mmWave radar picks up the small movements of breathing, so presence lasts as long as someone is there, unlike a PIR motion sensor. Next to the radar it measures temperature, humidity and light. The hardware is a Waveshare ESP32-C3-Zero, a Waveshare HMMD mmWave radar (S3KM1110 chip; presence, distance and energy in 16 gates of 70 cm, up to 11.2 m), a Sensirion SHT30 for temperature and humidity and a ROHM BH1750 for light, all on the board's 3.3 V and powered over USB-C. Everything stays local, with no cloud or account: each sensor has its own web panel (Polish or English, light or dark) and a JSON API, and sensors find each other over mDNS with no hub. A 1.5-minute calibration wizard measures the empty room and a sitting person's breathing and sets every radar gate's threshold. The panel also shows a live radar view, 24-hour, 7-day and 30-day minimum and maximum climate readings, a status LED you can configure, diagnostics and an event log. Home Assistant is optional: over MQTT Discovery the sensor creates a device with occupancy, distance, temperature, humidity, illuminance and Wi-Fi signal. Ready firmware is in the repo's Releases (flash once over USB, update over Wi-Fi after that), or you build it with PlatformIO and Node.js. The author's working build is a breadboard prototype; a ceiling enclosure and a carrier PCB are in the repo's hardware folder, but as of 30 October 2026 the enclosure hasn't been printed and the PCB hasn't been ordered. Licence: the repo has no licence file, so no licence is granted.

Source & Attribution

Source: GitHub
License: None (no licence file in the repo)
Last verified: 10/30/2026
whisli sense: ESP32 mmWave presence sensor with climate and light
How to Build It
Wire the radar, SHT30 and BH1750 to an ESP32-C3-Zero, flash the ready firmware, join your Wi-Fi and calibrate the radar for the room.

Parts Needed

Steps

  1. 1

    Wire

    Power every module from the C3-Zero's 3V3 and GND. I²C SDA/SCL on GPIO4/5 for the SHT30 and BH1750; radar TX to GPIO6, GPIO7 to radar RX, radar OT2 to GPIO3.

  2. 2

    Flash

    Flash whisli-sense-<version>-full.bin from Releases at address 0x0 over USB, for example with esptool-js in Chrome or Edge.

  3. 3

    Join Wi-Fi

    The sensor opens Whisli-Sense-XXXX. Join it, open http://192.168.4.1/ with the default password from the README, then pick your Wi-Fi under System → Network.

  4. 4

    Name and secure

    Under System → Settings give it a name and change the panel password.

  5. 5

    Calibrate

    Run Radar → Calibration (about 1.5 minutes): leave the room, then come back and sit down. Turn on MQTT in the panel if you want Home Assistant.

Bill of Materials

Parts list

6 parts · 5 linked

Heads up: some Buy links are affiliate links. If you buy through one, MCU Atlas may earn a small commission at no extra cost to you. It never changes which parts we list. How this works

Not included: A breadboard (the author's prototype is built on one), An MQTT broker and Home Assistant, only if you want the HA integration, Ceiling enclosure and carrier PCB from hardware/ (not yet printed or ordered by the author as of 30 Oct 2026)

Download CSV

Related Projects

SparkFun OpenLog: Arduino-compatible data logger
Illustration
ARDUINOATMEGA328P
A tiny ATmega328-based logger that writes serial data to a microSD card with almost no host code.
Beginner·Code
2 parts listed
Everything Presence One: mmWave presence sensor for Home Assistant
Illustration
ESP32
An open ESPHome presence sensor that combines mmWave, PIR, light and temperature/humidity sensing in one small case.
Beginner·Code
1 part listed
ratgdo: local Wi-Fi control for Chamberlain and LiftMaster garage doors
Illustration
ESP32ESP8266
A small control board that wires to your garage door opener and gives local ESPHome, HomeKit or MQTT control, including Security+ 2.0 openers.
Beginner·Code
2 parts listed